You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add support for builtin detection
* Update comments to be more eye catching
* Add clang-cl and apple clang support
* Fix bug with MSVC where not checking for nan
* Remove msvc specific code in favor of generic approach
* Prepare for 0.1.0 release.
* Add doxygen docs
* Finalize min/max
* Add todo for later work on remquo
* Cleanup main for 0.1.0 release
* Bring standard back to C++17
* Minor cleanup to cmake list
* Prep files for v0.1.0 release
* Prepare for 0.1.0 release.
* Add doxygen docs
* Finalize min/max
* Add todo for later work on remquo
* Cleanup main for 0.1.0 release
* Bring standard back to C++17
* Minor cleanup to cmake list
* Prep files for v0.1.0 release
* Bring everything in
* Remove artifacts that mistakenly got pushed to main
* Implement isgreater
* Implement isgreaterequal
* Implement isless
* Implement islessequal
* Implement islessgreater
* Implement isnormal
* Implement isunordered
* Add test cases for all new compare functions
* Add boilerplate code for future unit tests
* Update progress
* A lot of work done so far on log
* log now far more efficient and accurate
* Update readme progress
* Continue work on log for double
* remove unnecessary include
* remove msvc section of unlikely
* improve variable names
* remove old log impl
* Cleanup double implementation of log
* cleanup of log details and add more comments.
* Finalize work on log function
* Update current progress
* Fix bug with ±0 in log
* Update test cases to cover all major edge cases
* Move to correct folder
* Add headers for log and log2
* Remove dependency on Threads
* Initial addition of Contribution Guide
* Cleanup README and add extra information
* Update project version to v0.1.1
* Add top12 bits function for upcoming work
* Finalize work with log function
* Initial working revision of log2
* Push current work. Need to revise log2 to resolve bugs later.
* Initial implementation of lerp
* Fix scope bug
* remove the direct use of cmath.
* Update include to use cfloat instead of float.h
* Cleanup macros and fix minor bugs
* Fix bug where we were improperly assigning a correct value to the wrong variable
* Update docs to mention not accounting for big-endian
* Add comment to mention we are mirroring impl from cmath
* Remove MSVC fallback that was inconsistent with every other impl
* Add additional helpers for future work
* Add test for static_assert support and some additional tests
* Finalize implementation of log2
* Remove static_assert for now
* Update README.md
Copy file name to clipboardExpand all lines: README.md
+39-28
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,11 @@ ccmath is a C++17 library that provides a re-implementation of the standard `<cm
4
4
5
5
## Features
6
6
7
-
-**constexpr Compatibility**: All functions provided by ccmath are implemented as `constexpr`, allowing them to be evaluated at compile time when used with constant expressions.
7
+
-**Full constexpr Compatibility**: All functions provided by ccmath are implemented as `constexpr`, allowing them to be evaluated at compile time when used with constant expressions.
8
8
9
9
-**Standard Math Functions**: ccmath provides a comprehensive set of mathematical functions similar to those in the standard `<cmath>` library, including trigonometric, exponential, logarithmic, and other common mathematical operations. If `<cmath>` has it then it is likely ccmath has implemented it.
10
10
11
-
-**Performance Optimization**: By leveraging constexpr, ccmath aims to optimize performance by computing mathematical expressions at compile time where possible, reducing runtime overhead.
11
+
-**Performance Optimization**: By leveraging constexpr, ccmath aims to optimize performance by computing mathematical expressions at compile time when possible, reducing runtime overhead.
12
12
13
13
-**No External Dependencies**: ccmath has no external dependencies and only requires a C++17-compliant compiler.
14
14
@@ -33,40 +33,51 @@ int main() {
33
33
ccmath has a comprehensive cmake setup and can be easily included in your project using fetchcontent like so:
34
34
35
35
```cmake
36
+
cmake_minimum_required(VERSION 3.11) # FetchContent is new in version 3.11.
ccmath is designed to be compatible with any C++17-compliant compiler. It should work seamlessly with popular compilers such as GCC, Clang, and MSVC.
57
+
> [!NOTE]
58
+
> Currently working on finding manners to lower these requirements.
48
59
49
60
## Contributing
50
61
51
-
Contributions to ccmath are welcome! If you encounter any bugs, have suggestions for improvements, or would like to contribute new features, feel free to open an issue or submit a pull request!
62
+
CCmath is an open-source project, and it needs your help to go on growing and improving. If you want to get involved and suggest some additional features, file a bug report or submit a patch, please have a look at the contribution guidelines.
52
63
53
-
## Implementation Progress (Sub Sections)
54
-
|Section| % done | In Progress? | Notes? | Planned Completion Version |
64
+
## Implementation Progress (Modules)
65
+
|Module | % done | In Progress? | Notes? | Planned Completion Version |
0 commit comments