Developer documentation

GMPXX.hpp File Reference
#include <realroot/config.hpp>
#include <realroot/rounding_mode.hpp>
#include <realroot/Interval.hpp>
#include <realroot/sign.hpp>
#include <gmpxx.h>

Go to the source code of this file.

Classes

struct  mmx::GMP
 Numerical kernel based on gmp. More...
 
struct  mmx::meta::kernelof_< C >
 
struct  mmx::meta::kernelof_< GMP::ieee >
 
struct  mmx::meta::kernelof_< GMP::rational >
 
struct  mmx::meta::kernelof_< GMP::integer >
 
struct  mmx::meta::kernelof_< GMP::floating >
 
struct  mmx::meta::hasgcd_< C >
 
struct  mmx::meta::hasgcd_< ZZ >
 
struct  mmx::meta::structureof_< C >
 
struct  mmx::meta::structureof_< GMP::rational >
 
struct  mmx::meta::structureof_< GMP::integer >
 
struct  mmx::meta::structureof_< GMP::floating >
 
struct  mmx::cast_helper< T, F >
 
struct  mmx::cast_helper< QQ, ZZ >
 
struct  mmx::cast_helper< double, ZZ >
 
struct  mmx::cast_helper< double, QQ >
 
struct  mmx::cast_helper< double, RR >
 

Namespaces

 mmx
 
 mmx::meta
 
 mmx::let
 Namespace for explicit type conversion.
 

Functions

long int mmx::bit_size (const ZZ &z)
 
ZZ mmx::gcd (const ZZ &a, const ZZ &b)
 
ZZ mmx::lcm (const ZZ &a, const ZZ &b)
 
int mmx::sign (const QQ &a)
 
int mmx::sign (const RR &a)
 
QQ mmx::Size (const QQ &r)
 
ZZ mmx::Size (const ZZ &z)
 
ZZ mmx::size (const ZZ &z)
 
QQ mmx::size (const QQ &r)
 
int mmx::compare (const QQ &a, const QQ &b)
 
int mmx::compare (const RR &a, const RR &b)
 
bool mmx::with_plus_sign (const ZZ &c)
 
bool mmx::with_plus_sign (const QQ &c)
 
bool mmx::with_plus_sign (const RR &c)
 
double mmx::to_double (const QQ &a)
 
double mmx::to_double (const ZZ &z)
 
double mmx::to_double (const RR &a)
 
QQ mmx::to_FT (const ZZ &a, const ZZ &b=1)
 
QQ mmx::to_FT (const QQ &a, const QQ &b=1)
 
double mmx::to_XT (const ZZ &a)
 
double mmx::to_XT (const QQ &a)
 
double mmx::to_XT (const RR &a)
 
ZZ mmx::numerator (const QQ &a)
 
ZZ mmx::denominator (const QQ &a)
 
ZZ mmx::pow (const ZZ &a, unsigned n)
 
ZZ mmx::isqrt (const ZZ &a)
 
RR mmx::fracpart (const RR &r)
 
void mmx::Precision (unsigned long l)
 
void mmx::Precision (RR b, unsigned long l)
 
void mmx::let::assign (QQ &x, char *s)
 
void mmx::let::assign (ZZ &z, char *s)
 
void mmx::let::assign (ZZ &z, int n)
 
void mmx::let::assign (ZZ &z, double d)
 
void mmx::let::assign (ZZ &x, const ZZ &r)
 
void mmx::let::assign (int &x, const ZZ &r)
 
void mmx::let::assign (long int &x, const ZZ &r)
 
void mmx::let::assign (double &r, const ZZ &z)
 
void mmx::let::assign (ZZ &x, const QQ &r)
 
void mmx::let::assign (QQ &x, const ZZ &r)
 
void mmx::let::assign (QQ &q, double d)
 
void mmx::let::assign (RR &r, double d)
 
void mmx::let::assign (double &d, const QQ &x)
 
void mmx::let::assign (double &r, const RR &z)
 
void mmx::let::assign (RR &r, char *s)
 
void mmx::let::assign (RR &x, const RR &r)
 
double mmx::let::convert (const QQ &q, meta::As< double >)
 
double mmx::let::convert (const ZZ &z, meta::As< double >)
 
double mmx::let::convert (const RR &r, meta::As< double >)
 
void mmx::let::assign (Interval< double > &a, const QQ &b)
 
void mmx::let::assign (Interval< double > &a, const QQ &u, const QQ &v)
 
void mmx::let::assign (Interval< QQ > &a, const QQ &u, const QQ &v)
 
Home