--- Fredrik Hedman wrote:
Hello,
Howdy!
I have been playing around with the examples of this fascinating code.
I didn't know members of the boost-users list were paying attention to the vault. I should start posting announcements here.
This reports on the problems I have encountered so far. The latest examples are compiled with g++ 3.4.4 and '-Wall -Wno-long-long -pedantic -O2'
Cool. Our current development environments are msvc 7.1 and g++ 3.4.2 (mingw).
using boost-1_33 result in a number of errors: 1) The example in runtime_value.cpp gives
boost/mpl/math/number_sign.hpp: No such file or directory
This files seems to be missing.
I intentionally removed it. The proper syntax for
big_integral is no longer
big_integral
2) The example double.cpp get a *lot* of warnings:
mpl/math/double_/aux_/integral_exp.hpp:35: warning: comparison between signed and unsigned integer expressions
Looking at the offending line it seems that the constants that are shifted should really be unsigned numbers:
BOOST_STATIC_CONSTANT( boost::int16_t , exp1 = (number < (1 << (exp16 + exp8 + exp4 + exp2 + 1))) ? 0 : 1 -> BOOST_STATIC_CONSTANT( boost::int16_t , exp1 = (number < (1u << (exp16 + exp8 + exp4 + exp2 + 1))) ? 0 : 1
The same should probably be applied to all the other BOOST_STATIC_CONSTANT in struct integral_exp. Refactor 1u and 65536u into named constants?
I'm not sure if Peder Holt subscribes to this list, so I've CC'ed him.
3) The example big_integral.cpp complains about extra semicolons.
Thanks for catching the typos! Cromwell D. Enage __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com