1.1.0 / 05.08.2024
Release of SymCalc C++ version 1.1.0. In this update, essential fixes were added to SymCalc's code to prevent unexpected behaviour. Some functions were renamed to comply with C++'s naming standards. SymCalc's inside types have become "typedef"'s instead of macros.
Added copy/move constructor/assignment functions to remove unwanted memory behaviour (implemented "The Rule of Five")
The "eq" EquationBase pointer became a protected variable to remove external interference
Added the copy_eq() function, which outputs a pointer to a copy of eq's value (in response to making "eq" protected)
Removed the empty constructor
Added a check for a nullptr for the constructor that accepts any EquationBase pointer
To comply with C++'s naming standards, functions like __derivative__ or __simplify__, were renamed to _derivative, _simplify and others (source from cppreference.com, "In declarations" section, "In literal operators")
Previously, SymCalc's inside types, like double for SYMCALC_VALUE_TYPE, created for customizability and flexibility, used macros to be implemented. This was changed and the types are now created using C++'s "typedef"
The type definitions have been moved inside the symcalc namespace
To reflect the change of Equation's "eq" variable being protected, the math functions were changed in response, now using .copy_eq() instead of accessing the raw pointer
Fixes and updates in this release are majorly inspired by u/jk-jeon on Reddit and their comments on SymCalc's initial release post. Thanks u/jk-jeon!
1.0.0 / 26.07.2024
Initial major release of SymCalc C++.
EquationBase
Variable
Constant
Sum
Negate
Mult
Div
Power
Log
Ln
Exp
Abs
Sin
Cos
exp
ln
log
pow
abs
sin
cos