Boost logo

Boost :

Subject: Re: [boost] [mp_int] new release
From: Paul A Bristow (pbristow_at_[hidden])
Date: 2008-10-21 10:06:21


>-----Original Message-----
>From: boost-bounces_at_[hidden]
>[mailto:boost-bounces_at_[hidden]] On Behalf Of Brandon Kohn
>Sent: 10 October 2008 16:37
>To: boost_at_[hidden]
>Subject: Re: [boost] [mp_int] new release
>--------------------------------------------------
>From: "Kevin Sopp" <baraclese_at_[hidden]>
>Sent: Friday, October 10, 2008 10:25 AM
>To: <boost_at_[hidden]>
>Subject: Re: [boost] [mp_int] new release

I've tried to use your simple "general use" example in your documentation with
MS Visual studio 9.0

Sadly it fails to compile with an Internal compiler error :-(

1>Compiling...
1>demo_unbounded_int.cpp
1>i:\trunk\boost\mp_math\mp_int\detail\string_conversion_constants.hpp(44) : fatal error C1001: An internal error has occurred in
the compiler.
1>(compiler file 'msc1.cpp', line 1411)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1>Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1> i:\trunk\boost\mp_math\mp_int\detail\string_conversion_constants.hpp(47) : see reference to class template instantiation
'boost::mp_math::detail::max_power<MpInt,Base>' being compiled

This is a bit of a showstopper ;-)

Or am I doing something silly?

Any suggestions about what to try changing?

Thanks

Paul

---
Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539561830 & SMS, Mobile +44 7714 330204 & SMS
pbristow_at_[hidden]
PS
>I'll also need these for sure so it would be nice if they were added to the next release:
>
>template <>
>class numeric_limits< boost::mp_math::mp_int<> >
>{
>private:
>  typedef boost::mp_math::mp_int<> Type;
>public:
>  static const bool is_specialized = true;
>  static const int digits = 0;
>  static const int digits10 = 0;
>  static const bool is_signed = true;
>  static const bool is_integer = true;
>  static const bool is_exact = true;
>  static const int radix = 2;
>  static const int min_exponent = 0;
>  static const int min_exponent10 = 0;
>  static const int max_exponent = 0;
>  static const int max_exponent10 = 0;
>  static const bool has_infinity = false;
>  static const bool has_quiet_NaN =  false;
>  static const bool has_signaling_NaN = false;
>  static const float_denorm_style has_denorm = denorm_absent;
>  static const bool has_denorm_loss = false;
>  static const bool is_iec559 = false;
>  static const bool is_bounded = false;
>  static const bool is_modulo = false;
>  static const bool traps = false;
>  static const bool tinyness_before = false;
>  static const float_round_style round_style = round_toward_zero;
>  static Type min()
>  {
>    return static_cast<Type>(0);
>  }
>  static Type max()
>  {
>    return static_cast<Type>(0);
>  }
>
>  static Type epsilon()
>        {
>            return static_cast<Type>(1);
>        }
>
>        static Type round_error()
>        {
>            return static_cast<Type>(1);
>        }
>
>        static Type infinity()
>        {
>            return static_cast<Type>(0);
>        }
>
>        static Type quiet_NaN()
>        {
>            return static_cast<Type>(0);
>        }
>
>        static Type denorm_min()
>        {
>            return static_cast<Type>(1);
>        }
>    };
>} // namespace std
>

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