First commit
Changes
Made stuff become constexpr
Foo
Add now optimizes out zero params
functions can now be evaluated
Drastic simplification. Couldn't optimize out zeros for addition btw :(
Changes
Stuff
Expression doesn't need to a template anymore
Removed copyright stuffs
Temporary commit
Zeros are now optimized out
Overengineering ftw :D Added divide node btw.
5th derivate test
Tests are generally more useful if I actually call them...
There is an error somewhere btw....
Improved the {Zero, MinusOne, PlusOne} magic.
Couldn't fix the bug with test6. But it is definitely in the gradient func of either Add, Sub, Mult, or Variable
Oh god, I'm fcking retarted... (a)*(b).gradient != ((a)*(b)).gradient...
Increased readability.
Further increased readability