
Cool! Thanks for properly scaling the argument to mysin(). I believe the expected output in the comment should be 8.4147098480789650665250232163029899962256306079837106567275170999e-1
Both sin and mysin(pi/4) output 7.0710678118654752440084436210484903928483593768847403658833986900e-01 for me - and my calculator agrees :-)
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?
My mistake - I forgot to commit changes to default_ops.hpp - update again and that should get it. Sorry about that.
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.
OK good, I'd like that to work if possible, it seems like something users would want and/or expect?
I have candidate changes in: * cpp_dec_float.hpp *trig.hpp * floating_point_examples.cpp
Would you like me to commit my changes or would you prefer to receive the files and commit them yourself?
Other than the expected value for sin(pi/4) please do go ahead and commit! Many thanks, John.