Boost logo

Boost :

From: Bronek Kozicki (brok_at_[hidden])
Date: 2004-09-21 14:17:00


Guillaume Melquiond wrote:

> #if defined(__GLIBC__) && !defined(__GLIBCPP__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC)
> # define BOOST_HAS_INV_HYPERBOLIC
> #endif
>

it's defined on both - mingw-3.4.1 and mingw. However there's something
wrong with BOOST_NUMERIC_INTERVAL_using_ahyp . Here's preprocessor
output from both compilers (sorry for line breaks):

mingw (GCC-3.3.1)

# 1
"C:/MinGW/Bronek/regression/boost/boost/numeric/interval/rounded_transc.hpp"
1
# 17
"C:/MinGW/Bronek/regression/boost/boost/numeric/interval/rounded_transc.hpp"
namespace boost {
namespace numeric {
namespace interval_lib {

template<class T, class Rounding>
struct rounded_transc_exact: Rounding
{

   T exp_down(const T& x) { using std::exp; return exp(x); } T exp_up
(const T& x) { using std::exp; return exp(x); }
   T log_down(const T& x) { using std::log; return log(x); } T log_up
(const T& x) { using std::log; return log(x); }
   T sin_down(const T& x) { using std::sin; return sin(x); } T sin_up
(const T& x) { using std::sin; return sin(x); }
   T cos_down(const T& x) { using std::cos; return cos(x); } T cos_up
(const T& x) { using std::cos; return cos(x); }
   T tan_down(const T& x) { using std::tan; return tan(x); } T tan_up
(const T& x) { using std::tan; return tan(x); }
   T asin_down(const T& x) { using std::asin; return asin(x); } T
asin_up (const T& x) { using std::asin; return asin(x); }
   T acos_down(const T& x) { using std::acos; return acos(x); } T
acos_up (const T& x) { using std::acos; return acos(x); }
   T atan_down(const T& x) { using std::atan; return atan(x); } T
atan_up (const T& x) { using std::atan; return atan(x); }
   T sinh_down(const T& x) { using std::sinh; return sinh(x); } T
sinh_up (const T& x) { using std::sinh; return sinh(x); }
   T cosh_down(const T& x) { using std::cosh; return cosh(x); } T
cosh_up (const T& x) { using std::cosh; return cosh(x); }
   T tanh_down(const T& x) { using std::tanh; return tanh(x); } T
tanh_up (const T& x) { using std::tanh; return tanh(x); }

   T asinh_down(const T& x) { ; return asinh(x); } T asinh_up (const T&
x) { ; return asinh(x); }
   T acosh_down(const T& x) { ; return acosh(x); } T acosh_up (const T&
x) { ; return acosh(x); }
   T atanh_down(const T& x) { ; return atanh(x); } T atanh_up (const T&
x) { ; return atanh(x); }

};

mingw-3.4.1 (GCC-3.4.1)

# 1
"C:/MinGW/Bronek/regression/boost/boost/numeric/interval/rounded_transc.hpp"
1
# 17
"C:/MinGW/Bronek/regression/boost/boost/numeric/interval/rounded_transc.hpp"
namespace boost {
namespace numeric {
namespace interval_lib {

template<class T, class Rounding>
struct rounded_transc_exact: Rounding
{

   T exp_down(const T& x) { using std::exp; return exp(x); } T exp_up
(const T& x) { using std::exp; return exp(x); }
   T log_down(const T& x) { using std::log; return log(x); } T log_up
(const T& x) { using std::log; return log(x); }
   T sin_down(const T& x) { using std::sin; return sin(x); } T sin_up
(const T& x) { using std::sin; return sin(x); }
   T cos_down(const T& x) { using std::cos; return cos(x); } T cos_up
(const T& x) { using std::cos; return cos(x); }
   T tan_down(const T& x) { using std::tan; return tan(x); } T tan_up
(const T& x) { using std::tan; return tan(x); }
   T asin_down(const T& x) { using std::asin; return asin(x); } T
asin_up (const T& x) { using std::asin; return asin(x); }
   T acos_down(const T& x) { using std::acos; return acos(x); } T
acos_up (const T& x) { using std::acos; return acos(x); }
   T atan_down(const T& x) { using std::atan; return atan(x); } T
atan_up (const T& x) { using std::atan; return atan(x); }
   T sinh_down(const T& x) { using std::sinh; return sinh(x); } T
sinh_up (const T& x) { using std::sinh; return sinh(x); }
   T cosh_down(const T& x) { using std::cosh; return cosh(x); } T
cosh_up (const T& x) { using std::cosh; return cosh(x); }
   T tanh_down(const T& x) { using std::tanh; return tanh(x); } T
tanh_up (const T& x) { using std::tanh; return tanh(x); }

   T asinh_down(const T& x) { using ::asinh; return asinh(x); } T
asinh_up (const T& x) { using ::asinh; return asinh(x); }
   T acosh_down(const T& x) { using ::acosh; return acosh(x); } T
acosh_up (const T& x) { using ::acosh; return acosh(x); }
   T atanh_down(const T& x) { using ::atanh; return atanh(x); } T
atanh_up (const T& x) { using ::atanh; return atanh(x); }

};

Best regards

B.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk