|
Boost : |
From: Michael Stevens (Michael.Stevens_at_[hidden])
Date: 2004-08-03 05:14:13
I am just testing Boost uBLAS and Interval on an X86_64 architecture machine.
The compilation environment (GCC on Linux) is defining __USE_ISOC99, and not
__i386__ which seems reasonable!
Looking at 'hw_rounding.hpp'' I have confirmed that on this environment the
following code branch is being taken.
# include <boost/numeric/interval/detail/c99_rounding_control.hpp>
With this setup 'test_float.cpp' is failing badly when compiled with the
following errors:
In file included from /boost_CVS/boost
/numeric/interval.hpp:18,
from /boost_CVS/libs/
numeric/interval/test/test_float.cpp:11:
/boost_CVS/boost/numeric/interval/rounding.hpp: In instantiation of
`boost::numeric::interval_lib::save_state<boost::numeric::interval_lib::rounded_arith_opp<float,
boost::numeric::interval_lib::rounding_control<float> > >':
/boost_CVS/boost/numeric/interval/hw_rounding.hpp:40: instantiated from here
/boost_CVS/boost/numeric/interval/rounding.hpp:78: error: no
type named `rounding_mode' in `struct
boost::numeric::interval_lib::rounded_arith_opp<float,
boost::numeric::interval_lib::rounding_control<float> >'
/boost_CVS/boost/numeric/interval/rounding.hpp: In instantiation of
`boost::numeric::interval_lib::save_state<boost::numeric::interval_lib::rounded_arith_opp<double,
boost::numeric::interval_lib::rounding_control<double> > >':
/boost_CVS/boost/numeric/interval/hw_rounding.hpp:45: instantiated from here
etc..
Could it be that 'struct c99_rounding_control' should be inheriting from
'c99_rounding'. This seems to fix the problem although I am not sure it is
the correct solution!
Michael
___________________________________
Michael Stevens Systems Engineering
Navigation Systems, Estimation and
Bayesian Filtering
http://bayesclasses.sf.net
___________________________________
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk