72 #define IsInf(x) std::isinf(x) // C99 supported by C++ 2003 standard
75 #elif defined(_MSC_VER)
76 #define IsInf(x) (!_finite(x)) // Microsoft specific
80 #define IsInf(x) std::isinf(x) // now just hope for the C99 conformance
103 mpreal(
const mpz_t u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
104 mpreal(
const mpq_t u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
105 mpreal(
const double u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
106 mpreal(
const long double u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
107 mpreal(
const unsigned long int u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
108 mpreal(
const unsigned int u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
109 mpreal(
const long int u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
110 mpreal(
const int u, mp_prec_t prec = default_prec, mp_rnd_t mode = default_rnd);
111 mpreal(
const char* s, mp_prec_t prec = default_prec,
int base = default_base, mp_rnd_t mode = default_rnd);
216 operator long double()
const;
217 operator double()
const;
218 operator float()
const;
219 operator unsigned long()
const;
220 operator unsigned int()
const;
221 operator long()
const;
300 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
358 void set_prec(mp_prec_t prec, mp_rnd_t rnd_mode = default_rnd);
365 void set_sign(
int sign, mp_rnd_t rnd_mode = default_rnd);
370 int check_range (
int t, mp_rnd_t rnd_mode = default_rnd);
371 int subnormalize (
int t,mp_rnd_t rnd_mode = default_rnd);
422 const mpreal
operator+(
const mpreal&
a,
const mpreal&
b);
425 const mpreal
operator+(
const mpreal&
a,
const mpz_t
b);
426 const mpreal
operator+(
const mpreal&
a,
const mpq_t
b);
427 const mpreal
operator+(
const mpreal&
a,
const long double b);
428 const mpreal
operator+(
const mpreal&
a,
const double b);
429 const mpreal
operator+(
const mpreal&
a,
const unsigned long int b);
430 const mpreal
operator+(
const mpreal&
a,
const unsigned int b);
431 const mpreal
operator+(
const mpreal&
a,
const long int b);
432 const mpreal
operator+(
const mpreal&
a,
const int b);
433 const mpreal
operator+(
const mpreal&
a,
const char*
b);
434 const mpreal
operator+(
const char*
a,
const mpreal&
b);
438 const mpreal
operator+(
const mpz_t
b,
const mpreal&
a);
439 const mpreal
operator+(
const mpq_t
b,
const mpreal&
a);
440 const mpreal
operator+(
const long double b,
const mpreal&
a);
441 const mpreal
operator+(
const double b,
const mpreal&
a);
442 const mpreal
operator+(
const unsigned long int b,
const mpreal&
a);
443 const mpreal
operator+(
const unsigned int b,
const mpreal&
a);
444 const mpreal
operator+(
const long int b,
const mpreal&
a);
445 const mpreal
operator+(
const int b,
const mpreal&
a);
449 const mpreal
operator-(
const mpreal&
a,
const mpreal&
b);
452 const mpreal
operator-(
const mpreal&
a,
const mpz_t
b);
453 const mpreal
operator-(
const mpreal&
a,
const mpq_t
b);
454 const mpreal
operator-(
const mpreal&
a,
const long double b);
455 const mpreal
operator-(
const mpreal&
a,
const double b);
456 const mpreal
operator-(
const mpreal&
a,
const unsigned long int b);
457 const mpreal
operator-(
const mpreal&
a,
const unsigned int b);
458 const mpreal
operator-(
const mpreal&
a,
const long int b);
459 const mpreal
operator-(
const mpreal&
a,
const int b);
460 const mpreal
operator-(
const mpreal&
a,
const char*
b);
461 const mpreal
operator-(
const char*
a,
const mpreal&
b);
463 const mpreal
operator-(
const mpz_t
b,
const mpreal&
a);
464 const mpreal
operator-(
const mpq_t
b,
const mpreal&
a);
465 const mpreal
operator-(
const long double b,
const mpreal&
a);
470 const mpreal
operator*(
const mpreal&
a,
const mpreal&
b);
473 const mpreal
operator*(
const mpreal&
a,
const mpz_t
b);
474 const mpreal
operator*(
const mpreal&
a,
const mpq_t
b);
475 const mpreal
operator*(
const mpreal&
a,
const long double b);
476 const mpreal
operator*(
const mpreal&
a,
const double b);
477 const mpreal
operator*(
const mpreal&
a,
const unsigned long int b);
478 const mpreal
operator*(
const mpreal&
a,
const unsigned int b);
479 const mpreal
operator*(
const mpreal&
a,
const long int b);
480 const mpreal
operator*(
const mpreal&
a,
const int b);
482 const mpreal
operator*(
const mpz_t
b,
const mpreal&
a);
483 const mpreal
operator*(
const mpq_t
b,
const mpreal&
a);
484 const mpreal
operator*(
const long double b,
const mpreal&
a);
485 const mpreal
operator*(
const double b,
const mpreal&
a);
486 const mpreal
operator*(
const unsigned long int b,
const mpreal&
a);
487 const mpreal
operator*(
const unsigned int b,
const mpreal&
a);
488 const mpreal
operator*(
const long int b,
const mpreal&
a);
489 const mpreal
operator*(
const int b,
const mpreal&
a);
493 const mpreal
operator/(
const mpreal&
a,
const mpreal&
b);
496 const mpreal
operator/(
const mpreal&
a,
const mpz_t
b);
497 const mpreal
operator/(
const mpreal&
a,
const mpq_t
b);
498 const mpreal
operator/(
const mpreal&
a,
const long double b);
499 const mpreal
operator/(
const mpreal&
a,
const double b);
500 const mpreal
operator/(
const mpreal&
a,
const unsigned long int b);
501 const mpreal
operator/(
const mpreal&
a,
const unsigned int b);
502 const mpreal
operator/(
const mpreal&
a,
const long int b);
503 const mpreal
operator/(
const mpreal&
a,
const int b);
505 const mpreal
operator/(
const long double b,
const mpreal&
a);
509 const mpreal
operator<<(
const mpreal& v,
const unsigned long int k);
510 const mpreal
operator<<(
const mpreal& v,
const unsigned int k);
511 const mpreal
operator<<(
const mpreal& v,
const long int k);
512 const mpreal
operator<<(
const mpreal& v,
const int k);
514 const mpreal
operator>>(
const mpreal& v,
const unsigned long int k);
515 const mpreal
operator>>(
const mpreal& v,
const unsigned int k);
516 const mpreal
operator>>(
const mpreal& v,
const long int k);
517 const mpreal
operator>>(
const mpreal& v,
const int k);
521 bool operator < (
const mpreal&
a,
const unsigned long int b);
522 bool operator < (
const mpreal&
a,
const unsigned int b);
528 bool operator < (
const unsigned long int a,
const mpreal&
b);
529 bool operator < (
const unsigned int a,
const mpreal&
b);
535 bool operator > (
const mpreal&
a,
const unsigned long int b);
536 bool operator > (
const mpreal&
a,
const unsigned int b);
542 bool operator > (
const unsigned long int a,
const mpreal&
b);
543 bool operator > (
const unsigned int a,
const mpreal&
b);
549 bool operator >= (
const mpreal&
a,
const unsigned long int b);
556 bool operator >= (
const unsigned long int a,
const mpreal&
b);
563 bool operator <= (
const mpreal&
a,
const unsigned long int b);
570 bool operator <= (
const unsigned long int a,
const mpreal&
b);
577 bool operator == (
const mpreal&
a,
const unsigned long int b);
584 bool operator == (
const unsigned long int a,
const mpreal&
b);
591 bool operator != (
const mpreal&
a,
const unsigned long int b);
598 bool operator != (
const unsigned long int a,
const mpreal&
b);
765 return *
this +=
mpreal(u);
770 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
774 return *
this +=
mpreal(u);
963 return *
this -=
mpreal(v);
968 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
972 return *
this -=
mpreal(v);
1011 else return -(
mpreal(b) -=
a);
1071 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
1140 return *
this *=
mpreal(v);
1145 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
1149 return *
this *=
mpreal(v);
1286 return *
this /=
mpreal(v);
1291 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
1295 return *
this /=
mpreal(v);
1413 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
1433 mpfr_mul_2ui(mp,mp,static_cast<unsigned long int>(u),
default_rnd);
1445 mpfr_mul_2si(mp,mp,static_cast<long int>(u),
default_rnd);
1457 mpfr_div_2ui(mp,mp,static_cast<unsigned long int>(u),
default_rnd);
1469 mpfr_div_2si(mp,mp,static_cast<long int>(u),
default_rnd);
1480 return mul_2ui(v,static_cast<unsigned long int>(k));
1490 return mul_2si(v,static_cast<long int>(k));
1505 return div_2ui(v,static_cast<unsigned long int>(k));
1510 return div_2si(v,static_cast<long int>(k));
1517 mpfr_mul_2ui(x.mp,v.mp,k,rnd_mode);
1525 mpfr_mul_2si(x.mp,v.mp,k,rnd_mode);
1532 mpfr_div_2ui(x.mp,v.mp,k,rnd_mode);
1539 mpfr_div_2si(x.mp,v.mp,k,rnd_mode);
1547 return (mpfr_greater_p(a.mp,b.mp)!=0);
1612 return (mpfr_greaterequal_p(a.mp,b.mp)!=0);
1677 return (mpfr_less_p(a.mp,b.mp)!=0);
1742 return (mpfr_lessequal_p(a.mp,b.mp)!=0);
1807 return (mpfr_equal_p(a.mp,b.mp)!=0);
1872 return (mpfr_lessgreater_p(a.mp,b.mp)!=0);
1937 return (mpfr_nan_p(v.mp)!=0);
1942 return (mpfr_inf_p(v.mp)!=0);
1947 return (mpfr_number_p(v.mp)!=0);
1952 return (mpfr_zero_p(v.mp)!=0);
1957 return (mpfr_integer_p(v.mp)!=0);
1962 inline mpreal::operator double()
const
1964 return mpfr_get_d(mp,default_rnd);
1967 inline mpreal::operator float()
const
1969 return (
float)mpfr_get_d(mp,default_rnd);
1972 inline mpreal::operator
long double()
const
1974 return mpfr_get_ld(mp,default_rnd);
1977 inline mpreal::operator
unsigned long()
const
1979 return mpfr_get_ui(mp,default_rnd);
1982 inline mpreal::operator
unsigned int()
const
1984 return mpfr_get_ui(mp,default_rnd);
1987 inline mpreal::operator long()
const
1989 return mpfr_get_si(mp,default_rnd);
1997 inline mpreal::operator mpfr_ptr()
2006 int r = mpfr_signbit(v.mp);
2012 mpfr_setsign(mp,mp,(sign<0?1:0),rnd_mode);
2017 return mpfr_get_prec(mp);
2022 mpfr_prec_round(mp,prec,rnd_mode);
2027 mpfr_set_inf(mp,sign);
2037 return mpfr_get_exp(mp);
2042 return mpfr_set_exp(mp,e);
2068 mpfr_trunc(n.mp,v.mp);
2074 return mpfr_check_range(mp,t,rnd_mode);
2079 return mpfr_subnormalize(mp,t,rnd_mode);
2084 return mpfr_get_emin();
2089 return mpfr_set_emin(exp);
2094 return mpfr_get_emax();
2099 return mpfr_set_emax(exp);
2104 return mpfr_get_emin_min();
2109 return mpfr_get_emin_max();
2114 return mpfr_get_emax_min();
2119 return mpfr_get_emax_max();
2128 mpfr_sqr(x.mp,x.mp,rnd_mode);
2135 mpfr_sqrt(x.mp,x.mp,rnd_mode);
2139 inline const mpreal sqrt(
const unsigned long int v, mp_rnd_t rnd_mode)
2142 mpfr_sqrt_ui(x.mp,v,rnd_mode);
2146 inline const mpreal sqrt(
const unsigned int v, mp_rnd_t rnd_mode)
2148 return sqrt(static_cast<unsigned long int>(v),rnd_mode);
2153 if (v>=0)
return sqrt(static_cast<unsigned long int>(v),rnd_mode);
2159 if (v>=0)
return sqrt(static_cast<unsigned long int>(v),rnd_mode);
2176 mpfr_cbrt(x.mp,x.mp,rnd_mode);
2183 mpfr_root(x.mp,x.mp,k,rnd_mode);
2190 mpfr_abs(x.mp,x.mp,rnd_mode);
2197 mpfr_abs(x.mp,x.mp,rnd_mode);
2204 mpfr_dim(x.mp,a.mp,b.mp,rnd_mode);
2210 return mpfr_cmpabs(a.mp,b.mp);
2216 mpfr_log(x.mp,v.mp,rnd_mode);
2223 mpfr_log2(x.mp,v.mp,rnd_mode);
2230 mpfr_log10(x.mp,v.mp,rnd_mode);
2237 mpfr_exp(x.mp,v.mp,rnd_mode);
2244 mpfr_exp2(x.mp,v.mp,rnd_mode);
2251 mpfr_exp10(x.mp,v.mp,rnd_mode);
2258 mpfr_cos(x.mp,v.mp,rnd_mode);
2265 mpfr_sin(x.mp,v.mp,rnd_mode);
2272 mpfr_tan(x.mp,v.mp,rnd_mode);
2279 mpfr_sec(x.mp,v.mp,rnd_mode);
2286 mpfr_csc(x.mp,v.mp,rnd_mode);
2293 mpfr_cot(x.mp,v.mp,rnd_mode);
2299 return mpfr_sin_cos(s.mp,c.mp,v.mp,rnd_mode);
2305 mpfr_acos(x.mp,v.mp,rnd_mode);
2312 mpfr_asin(x.mp,v.mp,rnd_mode);
2319 mpfr_atan(x.mp,v.mp,rnd_mode);
2333 mpfr_atan2(a.mp, y.mp, x.mp, rnd_mode);
2341 mpfr_cosh(x.mp,v.mp,rnd_mode);
2348 mpfr_sinh(x.mp,v.mp,rnd_mode);
2355 mpfr_tanh(x.mp,v.mp,rnd_mode);
2362 mpfr_sech(x.mp,v.mp,rnd_mode);
2369 mpfr_csch(x.mp,v.mp,rnd_mode);
2376 mpfr_coth(x.mp,v.mp,rnd_mode);
2383 mpfr_acosh(x.mp,v.mp,rnd_mode);
2390 mpfr_asinh(x.mp,v.mp,rnd_mode);
2397 mpfr_atanh(x.mp,v.mp,rnd_mode);
2404 mpfr_fac_ui(x.mp,v,rnd_mode);
2411 mpfr_log1p(x.mp,v.mp,rnd_mode);
2418 mpfr_expm1(x.mp,v.mp,rnd_mode);
2425 mpfr_eint(x.mp,v.mp,rnd_mode);
2432 mpfr_gamma(x.mp,v.mp,rnd_mode);
2439 mpfr_lngamma(x.mp,v.mp,rnd_mode);
2446 mpfr_lgamma(x.mp,signp,v.mp,rnd_mode);
2453 mpfr_zeta(x.mp,v.mp,rnd_mode);
2460 mpfr_erf(x.mp,v.mp,rnd_mode);
2467 mpfr_erfc(x.mp,v.mp,rnd_mode);
2474 mpfr_j0(x.mp,v.mp,rnd_mode);
2481 mpfr_j1(x.mp,v.mp,rnd_mode);
2488 mpfr_jn(x.mp,n,v.mp,rnd_mode);
2495 mpfr_y0(x.mp,v.mp,rnd_mode);
2502 mpfr_y1(x.mp,v.mp,rnd_mode);
2509 mpfr_yn(x.mp,n,v.mp,rnd_mode);
2515 #if (MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0))
2519 return mpfr_sinh_cosh(s.mp,c.mp,v.mp,rnd_mode);
2525 mpfr_li2(x.mp,v.mp,rnd_mode);
2539 mpfr_fmod(a.mp, x.mp, y.mp, rnd_mode);
2547 mpfr_rec_sqrt(x.mp,v.mp,rnd_mode);
2559 mpfr_const_log2(x.mp,rnd_mode);
2567 mpfr_const_pi(x.mp,rnd_mode);
2575 mpfr_const_euler(x.mp,rnd_mode);
2583 mpfr_const_catalan(x.mp,rnd_mode);
2592 mpfr_rint(x.mp,v.mp,rnd_mode);
2599 mpfr_ceil(x.mp,v.mp);
2607 mpfr_floor(x.mp,v.mp);
2614 mpfr_round(x.mp,v.mp);
2621 mpfr_trunc(x.mp,v.mp);
2628 mpfr_rint_ceil(x.mp,v.mp,rnd_mode);
2635 mpfr_rint_floor(x.mp,v.mp,rnd_mode);
2642 mpfr_rint_round(x.mp,v.mp,rnd_mode);
2649 mpfr_rint_trunc(x.mp,v.mp,rnd_mode);
2656 mpfr_frac(x.mp,v.mp,rnd_mode);
2664 mpfr_swap(a.mp,b.mp);
2684 mpfr_nexttoward(a.mp,y.mp);
2691 mpfr_nextabove(a.mp);
2698 mpfr_nextbelow(a.mp);
2705 mpfr_urandomb(x.mp,state);
2721 mpfr_set_default_prec(prec);
2726 return mpfr_get_default_prec();
2742 mpfr_set_default_rounding_mode(rnd_mode);
2747 return mpfr_get_default_rounding_mode();
2770 mpfr_pow(x.mp,x.mp,b.mp,rnd_mode);
2777 mpfr_pow_z(x.mp,x.mp,b,rnd_mode);
2784 mpfr_pow_ui(x.mp,x.mp,b,rnd_mode);
2790 return pow(a,static_cast<unsigned long int>(b),rnd_mode);
2796 mpfr_pow_si(x.mp,x.mp,b,rnd_mode);
2802 return pow(a,static_cast<long int>(b),rnd_mode);
2818 mpfr_ui_pow(x.mp,a,b.mp,rnd_mode);
2824 return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2829 if (a>=0)
return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2835 if (a>=0)
return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2850 inline const mpreal pow(
const unsigned long int a,
const unsigned long int b, mp_rnd_t rnd_mode)
2853 mpfr_ui_pow_ui(x.mp,a,b,rnd_mode);
2857 inline const mpreal pow(
const unsigned long int a,
const unsigned int b, mp_rnd_t rnd_mode)
2859 return pow(a,static_cast<unsigned long int>(b),rnd_mode);
2862 inline const mpreal pow(
const unsigned long int a,
const long int b, mp_rnd_t rnd_mode)
2864 if(b>0)
return pow(a,static_cast<unsigned long int>(b),rnd_mode);
2868 inline const mpreal pow(
const unsigned long int a,
const int b, mp_rnd_t rnd_mode)
2870 if(b>0)
return pow(a,static_cast<unsigned long int>(b),rnd_mode);
2874 inline const mpreal pow(
const unsigned long int a,
const long double b, mp_rnd_t rnd_mode)
2879 inline const mpreal pow(
const unsigned long int a,
const double b, mp_rnd_t rnd_mode)
2885 inline const mpreal pow(
const unsigned int a,
const unsigned long int b, mp_rnd_t rnd_mode)
2887 return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2890 inline const mpreal pow(
const unsigned int a,
const unsigned int b, mp_rnd_t rnd_mode)
2892 return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2895 inline const mpreal pow(
const unsigned int a,
const long int b, mp_rnd_t rnd_mode)
2897 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2898 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2901 inline const mpreal pow(
const unsigned int a,
const int b, mp_rnd_t rnd_mode)
2903 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2904 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2907 inline const mpreal pow(
const unsigned int a,
const long double b, mp_rnd_t rnd_mode)
2909 return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2912 inline const mpreal pow(
const unsigned int a,
const double b, mp_rnd_t rnd_mode)
2914 return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2918 inline const mpreal pow(
const long int a,
const unsigned long int b, mp_rnd_t rnd_mode)
2920 if (a>0)
return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2924 inline const mpreal pow(
const long int a,
const unsigned int b, mp_rnd_t rnd_mode)
2926 if (a>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2927 else return pow(
mpreal(a),static_cast<unsigned long int>(b),rnd_mode);
2930 inline const mpreal pow(
const long int a,
const long int b, mp_rnd_t rnd_mode)
2934 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2935 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2941 inline const mpreal pow(
const long int a,
const int b, mp_rnd_t rnd_mode)
2945 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2946 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2948 return pow(
mpreal(a),static_cast<long int>(b),rnd_mode);
2952 inline const mpreal pow(
const long int a,
const long double b, mp_rnd_t rnd_mode)
2954 if (a>=0)
return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2958 inline const mpreal pow(
const long int a,
const double b, mp_rnd_t rnd_mode)
2960 if (a>=0)
return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2965 inline const mpreal pow(
const int a,
const unsigned long int b, mp_rnd_t rnd_mode)
2967 if (a>0)
return pow(static_cast<unsigned long int>(a),b,rnd_mode);
2971 inline const mpreal pow(
const int a,
const unsigned int b, mp_rnd_t rnd_mode)
2973 if (a>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2974 else return pow(
mpreal(a),static_cast<unsigned long int>(b),rnd_mode);
2977 inline const mpreal pow(
const int a,
const long int b, mp_rnd_t rnd_mode)
2981 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2982 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2992 if(b>0)
return pow(static_cast<unsigned long int>(a),static_cast<unsigned long int>(b),rnd_mode);
2993 else return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
2995 return pow(
mpreal(a),static_cast<long int>(b),rnd_mode);
2999 inline const mpreal pow(
const int a,
const long double b, mp_rnd_t rnd_mode)
3001 if (a>=0)
return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
3005 inline const mpreal pow(
const int a,
const double b, mp_rnd_t rnd_mode)
3007 if (a>=0)
return pow(static_cast<unsigned long int>(a),
mpreal(b),rnd_mode);
3012 inline const mpreal pow(
const long double a,
const long double b, mp_rnd_t rnd_mode)
3017 inline const mpreal pow(
const long double a,
const unsigned long int b, mp_rnd_t rnd_mode)
3022 inline const mpreal pow(
const long double a,
const unsigned int b, mp_rnd_t rnd_mode)
3024 return pow(
mpreal(a),static_cast<unsigned long int>(b),rnd_mode);
3027 inline const mpreal pow(
const long double a,
const long int b, mp_rnd_t rnd_mode)
3032 inline const mpreal pow(
const long double a,
const int b, mp_rnd_t rnd_mode)
3034 return pow(
mpreal(a),static_cast<long int>(b),rnd_mode);
3037 inline const mpreal pow(
const double a,
const double b, mp_rnd_t rnd_mode)
3042 inline const mpreal pow(
const double a,
const unsigned long int b, mp_rnd_t rnd_mode)
3047 inline const mpreal pow(
const double a,
const unsigned int b, mp_rnd_t rnd_mode)
3049 return pow(
mpreal(a),static_cast<unsigned long int>(b),rnd_mode);
3052 inline const mpreal pow(
const double a,
const long int b, mp_rnd_t rnd_mode)
3057 inline const mpreal pow(
const double a,
const int b, mp_rnd_t rnd_mode)
3059 return pow(
mpreal(a),static_cast<long int>(b),rnd_mode);
friend const mpreal fma(const mpreal &v1, const mpreal &v2, const mpreal &v3, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:181
friend const mpreal acosh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2380
friend const mpreal nexttoward(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2681
const mpreal exp2(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2241
mp_exp_t get_exp()
Definition: mpreal.h:2035
friend const mpreal const_pi(mp_prec_t prec=mpreal::default_prec, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2563
friend const mpreal atan2(const mpreal &y, const mpreal &x, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2323
friend bool operator!=(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1870
bool operator<(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1680
static int default_base
Definition: mpreal.h:92
friend std::istream & operator>>(std::istream &is, mpreal &v)
friend const mpreal frexp(const mpreal &v, mp_exp_t *exp)
Definition: mpreal.h:2045
const mpreal erfc(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2464
const mpreal exp(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2234
static int get_default_base()
Definition: mpreal.h:2734
const mpreal _jn(long n, const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2485
friend const mpreal modf(const mpreal &v, mpreal &n)
Definition: mpreal.h:2062
const mpreal sqr(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2125
ostream & operator<<(ostream &os, const mpreal &v)
Definition: mpreal.cc:391
const mpreal erf(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2457
const mpreal exp10(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2248
bool _isnan(const mpreal &v)
Definition: mpreal.h:1935
friend const mpreal urandomb(gmp_randstate_t &state)
Definition: mpreal.h:2702
friend bool operator<=(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1740
static int set_emax(mp_exp_t exp)
Definition: mpreal.h:2097
int subnormalize(int t, mp_rnd_t rnd_mode=default_rnd)
Definition: mpreal.h:2077
friend const mpreal operator/(const unsigned long int b, const mpreal &a)
Definition: mpreal.h:1377
int cmpabs(const mpreal &a, const mpreal &b)
Definition: mpreal.h:2208
const mpreal log(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2213
friend int sgn(const mpreal &v)
Definition: mpreal.h:2004
mpreal & operator/=(const mpreal &v)
Definition: mpreal.h:1266
const mpreal cosh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2338
static mp_prec_t default_prec
Definition: mpreal.h:91
friend const mpreal root(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2180
friend const mpreal tanh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2352
const mpreal sec(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2276
friend const mpreal abs(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2194
friend const mpreal agm(const mpreal &v1, const mpreal &v2, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:211
const mpreal _y1(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2499
const mpreal abs(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2194
friend const mpreal acos(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2302
const mpreal fac_ui(unsigned long int v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2401
const mpreal nexttoward(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2681
friend const mpreal fms(const mpreal &v1, const mpreal &v2, const mpreal &v3, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:196
friend bool _iszero(const mpreal &v)
Definition: mpreal.h:1950
const mpreal pow(const mpreal &a, const unsigned int b, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2788
mp_prec_t get_prec() const
Definition: mpreal.h:2015
friend const mpreal sum(const mpreal tab[], unsigned long int n, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:241
friend const mpreal _y1(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2499
const mpreal acosh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2380
friend int cmpabs(const mpreal &a, const mpreal &b)
Definition: mpreal.h:2208
bool operator!=(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1875
friend bool _isint(const mpreal &v)
Definition: mpreal.h:1955
mpreal & operator>>=(const unsigned long int u)
Definition: mpreal.h:1449
friend const mpreal coth(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2373
const mpreal dim(const mpreal &a, const mpreal &b, mp_rnd_t rnd_mode)
Definition: mpreal.h:2201
const mpreal frac(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2653
bool _isint(const mpreal &v)
Definition: mpreal.h:1955
const mpreal ldexp(const mpreal &v, mp_exp_t exp)
Definition: mpreal.h:2053
mpreal()
Definition: mpreal.cc:77
friend const mpreal hypot(const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:226
const mpreal max(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2668
::std::string string
Definition: gtest-port.h:872
const mpreal fmod(const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode)
Definition: mpreal.h:2529
friend const mpreal asinh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2387
const mpreal const_euler(mp_prec_t prec, mp_rnd_t rnd_mode)
Definition: mpreal.h:2571
friend const mpreal _j1(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2478
static int double_bits
Definition: mpreal.h:93
const mpreal cbrt(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2173
void set_prec(mp_prec_t prec, mp_rnd_t rnd_mode=default_rnd)
Definition: mpreal.h:2020
const mpreal cos(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2255
friend const mpreal zeta(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2450
const mpreal mul_2si(const mpreal &v, long int k, mp_rnd_t rnd_mode)
Definition: mpreal.h:1522
const mpreal rint(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2589
static mp_exp_t get_emin(void)
Definition: mpreal.h:2082
Definition: mpreal.h:3066
friend const mpreal sin(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2262
friend const mpreal random2(mp_size_t size, mp_exp_t exp)
friend const mpreal fac_ui(unsigned long int v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2401
bool operator>(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1550
std::string why()
Definition: mpreal.h:417
static mp_rnd_t get_default_rnd()
Definition: mpreal.h:2745
friend const mpreal li2(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2522
bool operator==(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1810
static int get_double_bits()
Definition: mpreal.h:2755
int sinh_cosh(mpreal &s, mpreal &c, const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2517
mpreal & operator--()
Definition: mpreal.h:928
friend const mpreal nextabove(const mpreal &x)
Definition: mpreal.h:2688
friend const mpreal mul_2ui(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:1514
const mpreal cot(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2290
#define IsInf(x)
Definition: mpreal.h:80
friend const mpreal cos(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2255
mpreal & operator*=(const mpreal &v)
Definition: mpreal.h:1120
friend const mpreal expm1(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2415
int sgn(const mpreal &v)
Definition: mpreal.h:2004
const mpreal rint_round(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2639
const mpreal operator*(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1177
const mpreal ceil(const mpreal &v)
Definition: mpreal.h:2596
friend const mpreal sqrt(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2132
const mpreal asinh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2387
void swap(mpreal &a, mpreal &b)
Definition: mpreal.h:2662
friend const mpreal lgamma(const mpreal &v, int *signp, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2443
friend const mpreal div_2ui(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:1529
friend int sin_cos(mpreal &s, mpreal &c, const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2297
friend void swap(mpreal &x, mpreal &y)
Definition: mpreal.h:2662
const mpreal _yn(long n, const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2506
static mp_exp_t get_emin_min(void)
Definition: mpreal.h:2102
friend const mpreal cot(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2290
friend const mpreal remainder(const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:254
friend bool operator>(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1545
const mpreal modf(const mpreal &v, mpreal &n)
Definition: mpreal.h:2062
const mpreal atan2(const mpreal &y, const mpreal &x, mp_rnd_t rnd_mode)
Definition: mpreal.h:2323
static mp_exp_t get_emax(void)
Definition: mpreal.h:2092
const mpreal operator-() const
Definition: mpreal.h:1000
friend const mpreal exp(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2234
const mpreal _j0(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2471
bool operator<=(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1745
const mpreal acos(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2302
const mpreal eint(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2422
friend bool _isnan(const mpreal &v)
Definition: mpreal.h:1935
friend bool operator==(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1805
const mpreal rec_sqrt(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2544
static mp_exp_t get_emax_max(void)
Definition: mpreal.h:2117
istream & operator>>(istream &is, mpreal &v)
Definition: mpreal.cc:396
const mpreal rint_trunc(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2646
friend const mpreal cbrt(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2173
friend const mpreal mul_2si(const mpreal &v, long int k, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:1522
friend const mpreal rint_trunc(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2646
const mpreal lngamma(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2436
const mpreal _j1(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2478
friend const mpreal floor(const mpreal &v)
Definition: mpreal.h:2604
friend const mpreal max(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2668
const mpreal log2(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2220
void set_nan()
Definition: mpreal.h:2030
static void set_default_base(int base)
Definition: mpreal.h:2729
const mpreal rint_floor(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2632
const mpreal log10(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2227
const mpreal min(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2675
const mpreal rint_ceil(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2625
FLOAT a(int j, FLOAT z)
Definition: y1.cc:86
static void set_default_prec(mp_prec_t prec)
Definition: mpreal.h:2718
friend const mpreal fabs(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2187
std::string to_string(size_t n=0, int b=default_base, mp_rnd_t mode=default_rnd) const
Definition: mpreal.cc:292
const mpreal atan(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2316
mpreal & operator=(const mpreal &v)
Definition: mpreal.h:671
friend bool _isinf(const mpreal &v)
Definition: mpreal.h:1940
mpreal & operator<<=(const unsigned long int u)
Definition: mpreal.h:1425
friend const mpreal cosh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2338
friend const mpreal lngamma(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2436
const mpreal nextbelow(const mpreal &x)
Definition: mpreal.h:2695
friend const mpreal const_log2(mp_prec_t prec=mpreal::default_prec, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2555
friend std::ostream & operator<<(std::ostream &os, const mpreal &v)
const mpreal frexp(const mpreal &v, mp_exp_t *exp)
Definition: mpreal.h:2045
static mp_rnd_t default_rnd
Definition: mpreal.h:90
const mpreal operator-(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1007
const mpreal sech(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2359
bool _iszero(const mpreal &v)
Definition: mpreal.h:1950
const mpreal trunc(const mpreal &v)
Definition: mpreal.h:2618
static void set_double_bits(int dbits)
Definition: mpreal.h:2750
friend bool _isnum(const mpreal &v)
Definition: mpreal.h:1945
friend const mpreal dim(const mpreal &a, const mpreal &b, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2201
void set_inf(int sign=+1)
Definition: mpreal.h:2025
const mpreal _y0(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2492
const mpreal const_log2(mp_prec_t prec, mp_rnd_t rnd_mode)
Definition: mpreal.h:2555
friend const mpreal pow(const mpreal &a, const mpreal &b, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2767
const mpreal gamma(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2429
const mpreal atanh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2394
const mpreal round(const mpreal &v)
Definition: mpreal.h:2611
mpreal & operator++()
Definition: mpreal.h:915
friend const mpreal trunc(const mpreal &v)
Definition: mpreal.h:2618
~mpreal()
Definition: mpreal.cc:160
bool fits_in_bits(double x, int n)
Definition: mpreal.h:2760
friend const mpreal const_euler(mp_prec_t prec=mpreal::default_prec, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2571
friend const mpreal log1p(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2408
int set_exp(mp_exp_t e)
Definition: mpreal.h:2040
const mpreal sqrt(const unsigned int v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2146
const mpreal mul_2ui(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode)
Definition: mpreal.h:1514
const mpreal sin(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2262
friend const mpreal erf(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2457
const mpreal operator+() const
Definition: mpreal.h:802
friend const mpreal round(const mpreal &v)
Definition: mpreal.h:2611
friend const mpreal const_catalan(mp_prec_t prec=mpreal::default_prec, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2579
const mpreal const_pi(mp_prec_t prec, mp_rnd_t rnd_mode)
Definition: mpreal.h:2563
friend const mpreal rint_ceil(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2625
static int set_emin(mp_exp_t exp)
Definition: mpreal.h:2087
const mpreal expm1(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2415
friend const mpreal erfc(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2464
bool _isinf(const mpreal &v)
Definition: mpreal.h:1940
friend const mpreal _jn(long n, const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2485
friend const mpreal rint_round(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2639
const mpreal csch(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2366
static mp_exp_t get_emax_min(void)
Definition: mpreal.h:2112
friend const mpreal sech(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2359
const mpreal tan(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2269
int check_range(int t, mp_rnd_t rnd_mode=default_rnd)
Definition: mpreal.h:2072
const mpreal div_2si(const mpreal &v, long int k, mp_rnd_t rnd_mode)
Definition: mpreal.h:1536
friend const mpreal atan(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2316
mpreal & operator+=(const mpreal &v)
Definition: mpreal.h:739
friend const mpreal exp2(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2241
const mpreal log1p(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2408
friend const mpreal rec_sqrt(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2544
friend const mpreal remquo(long *q, const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.cc:269
const mpreal operator+(const mpreal &a, const mpreal &b)
Definition: mpreal.h:807
friend const mpreal min(const mpreal &x, const mpreal &y)
Definition: mpreal.h:2675
friend const mpreal sqr(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2125
int sin_cos(mpreal &s, mpreal &c, const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2297
const mpreal div_2ui(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode)
Definition: mpreal.h:1529
friend const mpreal eint(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2422
const mpreal csc(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2283
friend const mpreal _y0(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2492
const mpreal lgamma(const mpreal &v, int *signp, mp_rnd_t rnd_mode)
Definition: mpreal.h:2443
friend const mpreal sec(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2276
const mpreal urandomb(gmp_randstate_t &state)
Definition: mpreal.h:2702
const mpreal tanh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2352
friend const mpreal tan(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2269
friend const mpreal exp10(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2248
const mpreal const_catalan(mp_prec_t prec, mp_rnd_t rnd_mode)
Definition: mpreal.h:2579
const mpreal asin(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2309
friend bool operator>=(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1610
const mpreal coth(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2373
friend const mpreal _yn(long n, const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2506
friend const mpreal nextbelow(const mpreal &x)
Definition: mpreal.h:2695
bool operator>=(const mpreal &a, const unsigned long int b)
Definition: mpreal.h:1615
friend const mpreal ldexp(const mpreal &v, mp_exp_t exp)
Definition: mpreal.h:2053
friend const mpreal atanh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2394
friend const mpreal sinh(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2345
friend const mpreal frac(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2653
friend const mpreal csc(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2283
friend const mpreal log2(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2220
friend const mpreal rint(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2589
const mpreal fabs(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2187
friend const mpreal div_2si(const mpreal &v, long int k, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:1536
const double c
Definition: gfit.cc:200
void set_sign(int sign, mp_rnd_t rnd_mode=default_rnd)
Definition: mpreal.h:2010
FLOAT b(int j, FLOAT z)
Definition: y1.cc:79
friend const mpreal ceil(const mpreal &v)
Definition: mpreal.h:2596
std::string to_string(T t, std::ios_base &(*f)(std::ios_base &))
Definition: mpreal.cc:285
const mpreal zeta(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2450
static mp_prec_t get_default_prec()
Definition: mpreal.h:2724
friend bool operator<(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1675
void swap(mpfr::mpreal &x, mpfr::mpreal &y)
Definition: mpreal.h:3069
const mpreal floor(const mpreal &v)
Definition: mpreal.h:2604
static mp_exp_t get_emin_max(void)
Definition: mpreal.h:2107
friend const mpreal log(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2213
const mpreal sinh(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2345
const mpreal nextabove(const mpreal &x)
Definition: mpreal.h:2688
friend const mpreal _j0(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2471
friend const mpreal gamma(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2429
friend const mpreal rint_floor(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2632
const mpreal root(const mpreal &v, unsigned long int k, mp_rnd_t rnd_mode)
Definition: mpreal.h:2180
static void set_default_rnd(mp_rnd_t rnd_mode)
Definition: mpreal.h:2739
const mpreal operator/(const mpreal &a, const mpreal &b)
Definition: mpreal.h:1323
friend const mpreal csch(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2366
const mpreal li2(const mpreal &v, mp_rnd_t rnd_mode)
Definition: mpreal.h:2522
friend const mpreal log10(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2227
friend int sinh_cosh(mpreal &s, mpreal &c, const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2517
friend const mpreal asin(const mpreal &v, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2309
mpreal & operator-=(const mpreal &v)
Definition: mpreal.h:943
bool _isnum(const mpreal &v)
Definition: mpreal.h:1945
friend const mpreal fmod(const mpreal &x, const mpreal &y, mp_rnd_t rnd_mode=mpreal::default_rnd)
Definition: mpreal.h:2529