Home | History | Annotate | Download | only in mpreal

Lines Matching refs:mpfr

3     Based on MPFR library:    http://mpfr.org

5 Project homepage: http://www.holoborodko.com/pavel/mpfr
87 #define MPFR_USE_INTMAX_T // Should be defined before mpfr.h
93 #else // MPFR relies on intmax_t which is available only in msvc2010
94 #undef MPREAL_HAVE_INT64_SUPPORT // Besides, MPFR & MPIR have to be compiled with msvc2010
121 #include <mpfr.h>
137 namespace mpfr {
401 // MPFR 2.4.0 Specifics
413 // MPFR 3.0.0 Specifics
470 // MPFR < 2.4.2 Specifics
534 // mpfr::mpreal=<DebugView> ; Show value only
535 // mpfr::mpreal=<DebugView>, <mp[0]._mpfr_prec,u>bits ; Show value & precision
578 mpfr_init2(mp,(mp_prec_t) mpf_get_prec(u)); // (gmp: mp_bitcnt_t) unsigned long -> long (mpfr: mp_prec_t)
1652 // Use MPFR native function for output
1748 if(exp>0) out += "e+"+mpfr::toString<mp_exp_t>(exp,std::dec);
1749 else out += "e"+mpfr::toString<mp_exp_t>(exp,std::dec);
2264 // MPFR 2.4.0 Specifics
2329 #endif // MPFR 2.4.0 Specifics
2332 // MPFR 3.0.0 Specifics
2336 #endif // MPFR 3.0.0 Specifics
2499 return mpfr::urandom(state);
2502 return mpfr::mpreal(std::rand()/(double)RAND_MAX);
2820 } // End of mpfr namespace
2829 inline void swap(mpfr::mpreal& x, mpfr::mpreal& y)
2831 return mpfr::swap(x, y);
2835 class numeric_limits<mpfr::mpreal>
2858 mp_rnd_t r = mpfr::mpreal::get_default_rnd();
2870 inline static mpfr::mpreal (min) (mp_prec_t precision = mpfr::mpreal::get_default_prec()) { return mpfr::minval(precision); }
2871 inline static mpfr::mpreal (max) (mp_prec_t precision = mpfr::mpreal::get_default_prec()) { return mpfr::maxval(precision); }
2872 inline static mpfr::mpreal lowest (mp_prec_t precision = mpfr::mpreal::get_default_prec()) { return -mpfr::maxval(precision); }
2875 inline static mpfr::mpreal epsilon(mp_prec_t precision = mpfr::mpreal::get_default_prec()) { return mpfr::machine_epsilon(precision); }
2878 inline static mpfr::mpreal epsilon(const mpfr::mpreal& x) { return mpfr::machine_epsilon(x); }
2880 inline static mpfr::mpreal round_error(mp_prec_t precision = mpfr::mpreal::get_default_prec())
2882 mp_rnd_t r = mpfr::mpreal::get_default_rnd();
2884 if(r == MPFR_RNDN) return mpfr::mpreal(0.5, precision);
2885 else return mpfr::mpreal(1.0, precision);
2888 inline static const mpfr::mpreal infinity() { return mpfr::const_infinity(); }
2889 inline static const mpfr::mpreal quiet_NaN() { return mpfr::mpreal().setNan(); }
2890 inline static const mpfr::mpreal signaling_NaN() { return mpfr::mpreal().setNan(); }
2891 inline static const mpfr::mpreal denorm_min() { return (min)(); }
2893 // Please note, exponent range is not fixed in MPFR
2899 // Should be constant according to standard, but 'digits' depends on precision in MPFR
2901 inline static int digits() { return mpfr::mpreal::get_default_prec(); }
2902 inline static int digits(const mpfr::mpreal& x) { return x.getPrecision(); }
2904 inline static int digits10(mp_prec_t precision = mpfr::mpreal::get_default_prec())
2906 return mpfr::bits2digits(precision);
2909 inline static int digits10(const mpfr::mpreal& x)
2911 return mpfr::bits2digits(x.getPrecision());
2914 inline static int max_digits10(mp_prec_t precision = mpfr::mpreal::get_default_prec())