Boost logo

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