
I've just committed your polynomial example, plus some simple integer examples.
Thanks for all that work, John. I had a good day of refactoring and testing and there is a lot to report. Cool! Thanks for properly scaling the argument to mysin(). I believe the expected output in the comment should be 8.4147098480789650665250232163029899962256306079837106567275170999e-1
Also tightened up some of the tests relating to cpp_dec_float - current SVN does not pass those tests - but the version you sent me with the modifications I mentioned (changing all *uses* of cpp_dec_float_max_digits10 to cpp_dec_float_total_digits10) does. I've also found a bug in my:
template <unsigned D> cpp_dec_float& operator=(const cpp_dec_float<D>& f) and template <unsigned D> cpp_dec_float(const cpp_dec_float<D>& f) which needs fixing, but I'll let you complete whatever refactoring needs doing on those constants first. Cheers, John.
I refactored the constants and got the tests running WRT trunk. Two tests did not compile at first: test_arithmetic.cpp (line 468) and test_float_io.cpp (line 204). The culprit is the compiler's failure to resolve frexp(Real, int64). The compiler required a plain integer argument. I believe that the compiler is correct (Visual Studio 2010, SP1, in this case). Do you also experience this problem? All tests except one pass with my refactored code. Unfortunately, test_float_io.cpp fails when round tripping from cpp_dec_float to a string with a large exponent back to cpp_dec_float. I believe that this problem can be solved because I identified a potentially incorrect rounding and/or digit inclusion when creating an exponent string in my original code. I have candidate changes in: * cpp_dec_float.hpp *trig.hpp * floating_point_examples.cpp And I would request that you please take a look at that frexp() issue mentioned above at your convenience. Would you like me to commit my changes or would you prefer to receive the files and commit them yourself? I will continue investigating the failure in test_float_io.cpp. It seems to be related to my code. Best regards, Chris