Boost logo

Boost Users :

From: Jordan Kyriakidis (jordan.kyriakidis_at_[hidden])
Date: 2007-09-21 23:03:24


The function

    template <class V> void assign_large_int(V a)

inside boost::math::ntl::RR contains the lines

    t = static_cast<double>(a & 0xffff);
    m_value += ldexp(RR(t), exp).value();

My compiler (powerpc-apple-darwin8-g++-4.0.1) complains about the
second line:

    error: cannot convert 'boost::math::ntl::RR' to 'double' for
argument '1' to 'double ldexp(double, int)'

I assume this is because it cannot see the function definition for

    RR ldexp(RR r, int exp)

defined further down in RR.hpp. This trivial patch fixes the error
for me:

math_toolkit/boost/math/bindings$ svn diff rr.hpp
Index: rr.hpp
===================================================================
--- rr.hpp (revision 39435)
+++ rr.hpp (working copy)
@@ -25,6 +25,9 @@
namespace ntl
{
+class RR;
+RR ldexp(RR r, int exp);
+
class RR
{
public:
math_toolkit/boost/math/bindings$

but there may (probably?) be similar errors for the other functions.

Cheers,
Jordan


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net