Here's the source code. I'll upload an executable a short while later (in the morning, likely).
New Features:
- functions: 6 constant trig functions, log functions, and any number of user-defined functions
- new subtraction rules
- all known bugs fixed
Features:
- 4 regular functions plus raising to a power
- boundless limits on name sizes and recursion
- simplification functions
Usage:
Code:
sin(cos(0))*3+4(5-x)^3
Output:
Code:
3*sin(cos(0)) + 4*[5 + -1*x]^3 = 3*sin(cos(0)) + 4*[5 + -1*x]^3
3*sin(cos(0)) + 4*[5 + -1*x]^3 = 3*sin(cos(0)) + 4*[5 + -1*x]^3
3*sin(cos(0)) + 500 + -300*x + 60*x^2 + -4*x^3 = 3*sin(cos(0)) + 500 + -300*x +
60*x^2 + -4*x^3
2.52441 + 500 + -300*x + 60*x^2 + -4*x^3 = 2.52441 + 500 + -300*x + 60*x^2 + -4*x^3
6 trig functions:
sin, cos, tan, cot, sec, csc
2 log functions:
log - base 10
ln - base e
f() is defined to be f(x) = x+y, although it could be any expression.
Code:
f(3)g(3)
would become
(3+y)*g(3)
Comments? Questions? Suggestions? (Just fyi, terms aren't combined at the end, though nothing prevents them from being combined)