
Boost : 
From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 20031017 19:37:20
[snip]
> The framework itself allows compilers to produce code which is as
> good as handwritten code. Of course, not all compilers make use of
> these opportunities. I tested the GCC and the Intel compiler, the
> latter can produce optimal code, the former has some problems,
> though. Last tested: GCC 3.3, maybe this has improved since, further
> testing is definitly needed. To be fair, I should also mention that
> Paul Bristow tried the run the code through the VC++, which
> failed. The code seems to be a bit challanging, but I haven't given
> up hope. If you can make it work for the VC++, please let me know :)
I could compile some of it with vc7:
int main()
{
// Usage example:
using namespace boost::math;
using std::sqrt;
using boost::math::sqrt;
const float f = 1.F;
const double d = 1.;
const long double ld = 1.L;
cout << pi * f * f << endl;
cout << pi * d * d << endl;
cout << pi * ld * ld << endl;
/*
cout << static_cast< double >( pi ) << endl;
cout << static_cast< float >( pi ) * d * d << endl;
*/
cout << pi * pi * f << endl;
cout << pi * pi * d << endl;
cout << pi * pi * ld << endl;
cout << pi + pi  pi * pi / pi + d << endl;
/*
cout << pi * pi * pi * f << endl;
cout << pi * pi * pi * d << endl;
cout << pi * pi * pi * ld << endl;
cout << pi + 2. << endl;
cout << 2. + pi << endl;
cout << sqrt( two ) * sqrt( 2.F ) << endl;
cout << sqrt( two ) * sqrt( 2.L ) << endl;
cout << sqrt( sqrt( two + pi ) ) + d << endl;
// double dx = sqrt( pi );
// cout << ( sqrt( pi ) ) << endl;
*/
}
For the rest, I havn't looked more into it.
cheers
Thorsten
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk