TR1 Math Special Functions
Paolo Carlini
pcarlini@suse.de
Thu Feb 8 17:14:00 GMT 2007
Hi again,
> Here is another drop.
>
> It is completely reworked relative to the last one.
IMHO, very good progress, indeed.
I just finished regtesting on x86_64-linux and got the following 4 failures:
check_value.exe:
*/tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc:2143:
void test049() [with Tp = double]: Assertion `max_abs_frac < Tp(0.002)'
failed.
FAIL:
tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_value.cc
execution test
check_value.exe:
*/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc:4336:
void test086() [with Tp = double]: Assertion `max_abs_frac < Tp(0.002)'
failed.
FAIL:
tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
execution test
check_value.exe:
*/tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc:400:
void test007() [with Tp = double]: Assertion `max_abs_frac < Tp(0.002)'
failed.
FAIL:
tr1/5_numerical_facilities/special_functions/18_laguerre/check_value.cc
execution test
check_value.exe:
*/tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc:1202:
void test022() [with Tp = double]: Assertion `max_abs_frac <
Tp(2.0000000000000016e-14)' failed.
FAIL:
tr1/5_numerical_facilities/special_functions/22_sph_legendre/check_value.cc
execution test
Besides that, before we can do the first commit, I can see one blocker
issue (really, because affects the bootstrap itself, on some targets):
you are using in many places std::isnan, which, in fact, is only
available if the target supports the C99 math facilities (grep tr1/cmath
about isnan & co, about that). What do you suggest? As a stopgap
solution we could also disable completely the affected code (but I
appreciate your efforts with tgamma, elsewhere... )
Otherwise, I see un-uglified names in struct __numeric_constants, it
would be nice if you could take care of that and well, of course double
check that you are not using unconditionally any other C99 facility
(configuring --disable-c99 should help here). But I can take care of
these trivial things, in order to speed-up the process, if you are
willing to look into the above more substantive ones.
Many thanks for your patience with the various issues, I think we are
quickly converging to code ready for the first commit, really. I look
forward to the next, i.e., last, iteration...
Paolo.
More information about the Libstdc++
mailing list