summaryrefslogtreecommitdiffstats
path: root/libdimension/polynomial.c
Commit message (Collapse)AuthorAgeFilesLines
* Modularize the libdimension codebase.Tavian Barnes2015-10-251-441/+0
|
* Move some headers around and make new ones.Tavian Barnes2015-10-251-4/+4
|
* Use // comments when possible.Tavian Barnes2014-06-071-53/+53
|
* Fix a bug in cubic polynomial solver, and add more tests.Tavian Barnes2014-02-031-3/+3
|
* Fix the polynomial solver when the bounds are exact.Tavian Barnes2012-12-211-1/+7
|
* Add some branch instrumentation from gcov profile.Tavian Barnes2011-11-161-1/+1
|
* Prevent hangs in dmnsn_polynomial_solve.Tavian Barnes2011-11-041-13/+21
|
* Use Rouillier and Zimmerman's version of the Uspensky algorithm.Tavian Barnes2011-10-311-179/+136
|
* Make API more consistent.Tavian Barnes2011-10-301-5/+5
| | | | Object methods should be dmnsn_<object>_<fn>().
* Update copyright years.Tavian Barnes2011-08-311-1/+1
|
* Rename dimension-impl.h to dimension-internal.hTavian Barnes2011-08-251-1/+1
|
* Some minor optimizations.Tavian Barnes2011-03-291-16/+15
|
* Update email address.Tavian Barnes2011-03-081-1/+1
|
* New DMNSN_HOT macro.Tavian Barnes2011-03-081-2/+2
|
* A couple polynomial.c improvements.Tavian Barnes2010-11-181-13/+5
|
* Compare the cubic discriminant to 0 rather than dmnsn_epsilon.Tavian Barnes2010-11-181-2/+2
|
* Handle all special cases in dmnsn_solve_cubic().Tavian Barnes2010-11-171-24/+24
|
* Fix det/disc variable naming thinko.Tavian Barnes2010-11-171-6/+6
|
* Add algebraic cubic solver.Tavian Barnes2010-11-171-6/+73
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-13/+22
|
* Standard compliance.Tavian Barnes2010-11-101-5/+5
| | | | Apparently ssize_t isn't a standard type...
* Use Newton's method when the root bound is degenerate.Tavian Barnes2010-11-101-5/+27
|
* Stability fix for dmnsn_bisect_root().Tavian Barnes2010-11-091-4/+9
| | | | | | | When one of the bounds is close to a different root, make sure the result is more accurate than that bound. Otherwise we find the wrong root, and eventually hang. This could be seen with a 1920x1080 render of demo.pov, for example.
* Be more lenient about the root bracketing in dmnsn_bisect_root().Tavian Barnes2010-11-041-1/+14
|
* Fix ++i/--i thinko.Tavian Barnes2010-11-031-1/+1
|
* Pull < DMNSN_NBINOM test outside of loop.Tavian Barnes2010-11-031-20/+29
|
* Small polynomial.c cleanup.Tavian Barnes2010-11-011-4/+8
|
* Slight polynomial base case optimizations.Tavian Barnes2010-11-011-24/+25
|
* More numerical tweaks.Tavian Barnes2010-11-011-0/+11
|
* Numerical fixes for polynomial.c.Tavian Barnes2010-10-311-89/+109
|
* Be const-correct in polynomial.{c,h}.Tavian Barnes2010-10-301-8/+8
|
* Remove debug print from polynomial.c.Tavian Barnes2010-10-301-2/+0
|
* Fix dmnsn_print_polynomial again.Tavian Barnes2010-10-291-1/+3
|
* Only return non-zero roots of polynomials.Tavian Barnes2010-10-291-15/+14
|
* Handle narrow ranges in dmnsn_bisect_root().Tavian Barnes2010-10-281-0/+3
|
* Fix dmnsn_print_polynomial().Tavian Barnes2010-10-281-20/+9
|
* Precalculate some binomial coefficients.Tavian Barnes2010-10-281-9/+28
|
* Use the false position method to bisect isolating intervals.Tavian Barnes2010-10-281-30/+20
|
* Use Uspensky's method to find multiple roots at once.Tavian Barnes2010-10-281-57/+63
|
* Add polynomial test.Tavian Barnes2010-10-271-4/+3
|
* Fix typo in comment.Tavian Barnes2010-10-261-1/+1
|
* Add numerical polynomial solver based on Uspensky's algorithm.Tavian Barnes2010-10-261-0/+313