https://github.com/jkopiszka/mathextended
C++ Library dedicated to extend possibilities of Math operations in your project.
https://github.com/jkopiszka/mathextended
c cpp cpp-library library math
Last synced: 3 months ago
JSON representation
C++ Library dedicated to extend possibilities of Math operations in your project.
- Host: GitHub
- URL: https://github.com/jkopiszka/mathextended
- Owner: JKopiszka
- License: apache-2.0
- Created: 2025-01-23T22:40:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-04T14:48:25.000Z (10 months ago)
- Last Synced: 2025-09-04T16:34:10.718Z (10 months ago)
- Topics: c, cpp, cpp-library, library, math
- Language: C++
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MathExtended DLL
Author: Jakub Kopiszka
Version: 1.0.0
License: Apache License 2.0
Platform: Windows (x86 / x64)
Language: C++ (MSVC)
---
## Overview
MathExtended is a Windows dynamic-link library (DLL) providing math and physics utilities beyond the C++ standard library. It is designed for dynamic loading at runtime using `LoadLibrary` and `GetProcAddress`. Internally, code is organized with C++ classes; externally, a flat C API is exported for compatibility and ABI stability.
---
## Features
- **Mathematics**
- Factorial (iterative and recursive)
- Greatest Common Divisor (GCD)
- Least Common Multiple (LCM)
- Mathematical constants via getters (PI, E, PHI, SQRT2, SQRT3, SQRT5)
- **Dynamic API**
- No headers or `.lib` required for runtime consumption
- Stable C ABI suitable for cross-language interop
---
## Requirements
- Windows 10 or later
- MSVC (Visual Studio 2019 or newer recommended)
- Matching architecture between consumer app and DLL (x86 with x86, x64 with x64)
---
## Function names
Following names of the functions are used. You should use them to import appropirate function.
- `factorial`
- `lcm`
- `gcd`
- `quick_gcd`
- `randomDouble`
- `randomInt`
- `get_e`
- `get_pi`
- `get_SQRT2`
- `get_SQRT3`
- `get_SQRT5`
- `get_PHI`