mschlund / FPsolve

FPsolve: solver for polynomial equations over omega-continuous semirings
BSD 2-Clause "Simplified" License
11 stars 5 forks source link

New Polynomial/Monomial and performance improvements #18

Closed michalt closed 11 years ago

michalt commented 11 years ago

This implements a better representation of Polynomial and Monomial classes (should be safer and according to benchmarks is also faster).

Apart from that, there are some tweaks to the Generator (newton.h) to make it faster and the internals of FreeSemiring will now use raw pointers instead of shared_ptr. Finally we also disable the assertion in Release mode (-DNDEBUG).

To sum up, all of the above changes bring the run-time of float-perf-test3.g from around 3.7s to 0.4s. :-)

Btw if you have some tests not included in the testsuite, please remember to run them -- there are quite a lot of changes here...

michalt commented 11 years ago

I've just removed the old FreeSemiring implementation (as discussed) and fixed the build with GCC...