MATH: improve ilog10,
E.P. for the actual survey: There are ~ five issues with ilog10 / ilog10l:
- it lives in gnumeric, thus isn't available in goffice,
- it's 'resharpening' is restricted to a very small range,
- it doesn't cover the full domain of doubles or long doubles,
- a. it has fails as well with doubles:
( 331 fails in 1896 checks at integral powers of 10 and around ), - b. as with long doubles:
( 4947 fails in 29650 checks at integral powers of 10 and around ), - sometimes different results for double vs. long double datatype,
See attached sheetilog10_check_double_and_long.gnumeric.
A pimped version of goffice and gnumeric performs better, 0 fails,
and is even faster: double 52-75 vs. 109-131 ms,
long 63-102 vs. 831-853 ms for sheet recalc,
proposed patches:
go-math.c_dm_ilog10_patch
go-math.h_dm_ilog10_patch
mathfunc.c_dm_ilog10_patch
numbers.h_dm_ilog10_patch