Please sign in to access this page
A versatile, cross-platform math framework A high-performance mathematical library designed for seamless integration with nearly every programming language I enjoy, optimized for compatibility across all major operating systems. Whether you’re crunching numbers, modeling equations, or building something groundbreaking, this framework delivers the tools you need—fast, reliable, and everywhere.
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Today is the last day. This project will be stopped for 1 month. I will now develop a firmware for the raspberry PI.
Today: remove intervals - make the project easier and more cross-platform compactible.
Adding trigonometry and having a bad day. Create a pull request and haven't sleep. So today I've done only a bit.
Testing new features from yesterday. Getting error because musl isn't on 2 os. Everything other works just as fine as before.
Programming today the planned intervals. Intervals are there to execute function in loops from a to b in x steps. But C++ cannot run as example a python function because it is out of scope. So I develope a system where function names etc. can be passed down and the API read the list of passed down function and execute them. Then it returns the value and the interval function gets satisfied. Note that the C++ version differs to the C shared version. It sounds easy but I implemented so that somehow only half of it works.
Adding more features and trying fixing the CI/CD problem while testing the shared object by some unix based systems.
After 100 Test I got the others to work. Now I can test not only with dll but also with .so and .dylib. They are ready for release but they still have too few features.
Getting destroyed by CI/CD again. Why does only one of the two in the matrix run? Anyway, I got the windows compilation running. Wasn't as hard as Lua. It's now the fifth day and I got already 18h.
I'm adding a method to handle intervals. That means when I run calculations, the results come out as intervals instead of exact values. This helps when values might vary a bit or aren't 100% known—like when dealing with measurements or approximations. It's useful for checking how results change over a range. https://github.com/DevKiDCosmo/TheMathLib/blob/main/docs/basics_notes.md#drafts-to-variable-and-calculation-with-formulas
Today I integrated support for several language APIs: Java, Rust, Go, .NET, and Lua. To streamline development and reduce redundancy, I'm planning to create a universal definitions file. This file will serve as a single source of truth across all APIs—allowing the core logic to dynamically load definitions and generate the appropriate language-specific function interfaces. Next step: refactor the current implementation to auto-generate language bindings based on these shared definitions.
Fixing the class and linking problem. Now files can use function from other class. Before due to restriction redefinition errors appear.
Updating API for PY. Using C++ and C to create dll can be handy. Now creating API for Java, Kotlin, Go, Rust... Yeah, a lot of work to do.
Adding more mathematical formular to the current collection.
Now adding API for different languages. Finally getting permutation to work and updating docs. It was painful.
Enhanced the basics.md documentation to include clearer organization and more details on math functions available in Moo.
Breaking my head of something like type errors.