SMTStabilizer API
Public API documentation for SMTStabilizer
Loading...
Searching...
No Matches
stabilizer::parser::HighPrecisionReal Class Reference

#include <number.h>

Public Member Functions

 HighPrecisionReal (mpfr_prec_t precision=128)
 
 HighPrecisionReal (int i, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const Integer &i, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const double &d, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const float &f, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const std::string &s, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const char *s, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const mpfr_t &t, mpfr_prec_t precision=128)
 
 HighPrecisionReal (const HighPrecisionReal &other)
 
HighPrecisionRealoperator= (const HighPrecisionReal &other)
 
 ~HighPrecisionReal ()
 
HighPrecisionReal operator+ (const HighPrecisionReal &other) const
 
HighPrecisionReal operator- (const HighPrecisionReal &other) const
 
HighPrecisionReal operator- () const
 
HighPrecisionReal operator* (const HighPrecisionReal &other) const
 
HighPrecisionReal operator/ (const HighPrecisionReal &other) const
 
HighPrecisionRealoperator+= (const HighPrecisionReal &other)
 
HighPrecisionRealoperator-= (const HighPrecisionReal &other)
 
HighPrecisionRealoperator*= (const HighPrecisionReal &other)
 
HighPrecisionRealoperator/= (const HighPrecisionReal &other)
 
bool operator== (const HighPrecisionReal &other) const
 
bool operator!= (const HighPrecisionReal &other) const
 
bool operator< (const HighPrecisionReal &other) const
 
bool operator<= (const HighPrecisionReal &other) const
 
bool operator> (const HighPrecisionReal &other) const
 
bool operator>= (const HighPrecisionReal &other) const
 
HighPrecisionReal abs () const
 
HighPrecisionReal sqrt () const
 
HighPrecisionReal safeSqrt () const
 
HighPrecisionReal pow (const HighPrecisionReal &exp) const
 
HighPrecisionReal ceil () const
 
HighPrecisionReal floor () const
 
HighPrecisionReal round () const
 
HighPrecisionReal exp () const
 
HighPrecisionReal ln () const
 
HighPrecisionReal lg () const
 
HighPrecisionReal lb () const
 
HighPrecisionReal log (const HighPrecisionReal &base) const
 
HighPrecisionReal sin () const
 
HighPrecisionReal cos () const
 
HighPrecisionReal tan () const
 
HighPrecisionReal cot () const
 
HighPrecisionReal sec () const
 
HighPrecisionReal csc () const
 
HighPrecisionReal asin () const
 
HighPrecisionReal acos () const
 
HighPrecisionReal atan () const
 
HighPrecisionReal acot () const
 
HighPrecisionReal asec () const
 
HighPrecisionReal acsc () const
 
HighPrecisionReal sinh () const
 
HighPrecisionReal cosh () const
 
HighPrecisionReal tanh () const
 
HighPrecisionReal coth () const
 
HighPrecisionReal sech () const
 
HighPrecisionReal csch () const
 
HighPrecisionReal asinh () const
 
HighPrecisionReal acosh () const
 
HighPrecisionReal atanh () const
 
HighPrecisionReal acoth () const
 
HighPrecisionReal asech () const
 
HighPrecisionReal acsch () const
 
std::string toString () const
 
double toDouble () const
 
float toFloat () const
 
int toInt () const
 
long long toLongLong () const
 
Integer toInteger () const
 
void setPrecision (mpfr_prec_t precision)
 
mpfr_prec_t getPrecision () const
 
bool isInteger () const
 
mpfr_ptr getMPFR ()
 
mpfr_srcptr getMPFR () const
 
HighPrecisionReal nextBelow () const
 
HighPrecisionReal nextAbove () const
 
bool isInfinity () const
 
bool isNegativeInfinity () const
 
bool isPositiveInfinity () const
 
bool isNaN () const
 

Static Public Member Functions

static HighPrecisionReal pi (mpfr_prec_t precision=128)
 
static HighPrecisionReal e (mpfr_prec_t precision=128)
 
static HighPrecisionReal phi (mpfr_prec_t precision=128)
 
static HighPrecisionReal ln2 (mpfr_prec_t precision=128)
 
static HighPrecisionReal ln10 (mpfr_prec_t precision=128)
 
static HighPrecisionReal log2_e (mpfr_prec_t precision=128)
 
static HighPrecisionReal log10_e (mpfr_prec_t precision=128)
 
static HighPrecisionReal euler (mpfr_prec_t precision=128)
 
static HighPrecisionReal catalan (mpfr_prec_t precision=128)
 
static HighPrecisionReal epsilon (mpfr_prec_t precision=128)
 
static HighPrecisionReal atan2 (const HighPrecisionReal &y, const HighPrecisionReal &x)
 

Private Attributes

mpfr_t value
 

Detailed Description

Definition at line 138 of file number.h.

Constructor & Destructor Documentation

◆ HighPrecisionReal() [1/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( mpfr_prec_t  precision = 128)

Definition at line 123 of file number.cpp.

References value.

◆ HighPrecisionReal() [2/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( int  i,
mpfr_prec_t  precision = 128 
)

Definition at line 128 of file number.cpp.

References value.

◆ HighPrecisionReal() [3/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const Integer i,
mpfr_prec_t  precision = 128 
)

Definition at line 133 of file number.cpp.

References stabilizer::parser::HighPrecisionInteger::getMPZ(), and value.

◆ HighPrecisionReal() [4/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const double &  d,
mpfr_prec_t  precision = 128 
)

Definition at line 138 of file number.cpp.

References value.

◆ HighPrecisionReal() [5/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const float &  f,
mpfr_prec_t  precision = 128 
)

Definition at line 143 of file number.cpp.

References value.

◆ HighPrecisionReal() [6/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const std::string &  s,
mpfr_prec_t  precision = 128 
)

Definition at line 148 of file number.cpp.

References value.

◆ HighPrecisionReal() [7/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const char *  s,
mpfr_prec_t  precision = 128 
)

Definition at line 159 of file number.cpp.

References value.

◆ HighPrecisionReal() [8/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const mpfr_t &  t,
mpfr_prec_t  precision = 128 
)

Definition at line 169 of file number.cpp.

References value.

◆ HighPrecisionReal() [9/9]

stabilizer::parser::HighPrecisionReal::HighPrecisionReal ( const HighPrecisionReal other)

Definition at line 174 of file number.cpp.

References value.

◆ ~HighPrecisionReal()

stabilizer::parser::HighPrecisionReal::~HighPrecisionReal ( )

Definition at line 194 of file number.cpp.

References value.

Member Function Documentation

◆ abs()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::abs ( ) const

Definition at line 285 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::abs().

◆ acos()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acos ( ) const

Definition at line 427 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::acos(), and asec().

◆ acosh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acosh ( ) const

Definition at line 523 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::acosh(), and asech().

◆ acot()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acot ( ) const

Definition at line 442 of file number.cpp.

References atan(), pi(), and value.

Referenced by stabilizer::parser::Number::acot().

◆ acoth()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acoth ( ) const

Definition at line 541 of file number.cpp.

References atanh(), and value.

Referenced by stabilizer::parser::Number::acoth().

◆ acsc()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acsc ( ) const

Definition at line 461 of file number.cpp.

References asin(), and value.

Referenced by stabilizer::parser::Number::acsc().

◆ acsch()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::acsch ( ) const

Definition at line 561 of file number.cpp.

References asinh(), and value.

Referenced by stabilizer::parser::Number::acsch().

◆ asec()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::asec ( ) const

Definition at line 451 of file number.cpp.

References acos(), and value.

Referenced by stabilizer::parser::Number::asec().

◆ asech()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::asech ( ) const

Definition at line 551 of file number.cpp.

References acosh(), and value.

◆ asin()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::asin ( ) const

Definition at line 418 of file number.cpp.

References value.

Referenced by acsc(), and stabilizer::parser::Number::asin().

◆ asinh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::asinh ( ) const

Definition at line 517 of file number.cpp.

References value.

Referenced by acsch(), and stabilizer::parser::Number::asinh().

◆ atan()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::atan ( ) const

Definition at line 436 of file number.cpp.

References value.

Referenced by acot(), and stabilizer::parser::Number::atan().

◆ atan2()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::atan2 ( const HighPrecisionReal y,
const HighPrecisionReal x 
)
static

Definition at line 471 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::atan2(), and stabilizer::parser::Parser::rewrite().

◆ atanh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::atanh ( ) const

Definition at line 532 of file number.cpp.

References value.

Referenced by acoth(), and stabilizer::parser::Number::atanh().

◆ catalan()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::catalan ( mpfr_prec_t  precision = 128)
static

Definition at line 103 of file number.cpp.

References value.

◆ ceil()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::ceil ( ) const

Definition at line 315 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::ceil(), and stabilizer::parser::MathUtils::ceil().

◆ cos()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::cos ( ) const

Definition at line 388 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::cos().

◆ cosh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::cosh ( ) const

Definition at line 487 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::cosh().

◆ cot()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::cot ( ) const

Definition at line 400 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::cot().

◆ coth()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::coth ( ) const

Definition at line 499 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::coth().

◆ csc()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::csc ( ) const

Definition at line 412 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::csc().

◆ csch()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::csch ( ) const

Definition at line 511 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::csch().

◆ e()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::e ( mpfr_prec_t  precision = 128)
static

Definition at line 48 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::e(), and stabilizer::parser::Parser::toReal().

◆ epsilon()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::epsilon ( mpfr_prec_t  precision = 128)
static

Definition at line 109 of file number.cpp.

Referenced by stabilizer::parser::Number::epsilon().

◆ euler()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::euler ( mpfr_prec_t  precision = 128)
static

Definition at line 97 of file number.cpp.

References value.

◆ exp()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::exp ( ) const

Definition at line 334 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::exp(), and pow().

◆ floor()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::floor ( ) const

Definition at line 321 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::floor(), and stabilizer::parser::MathUtils::floor().

◆ getMPFR() [1/2]

mpfr_ptr stabilizer::parser::HighPrecisionReal::getMPFR ( )

◆ getMPFR() [2/2]

mpfr_srcptr stabilizer::parser::HighPrecisionReal::getMPFR ( ) const

Definition at line 680 of file number.cpp.

References value.

◆ getPrecision()

mpfr_prec_t stabilizer::parser::HighPrecisionReal::getPrecision ( ) const

Definition at line 671 of file number.cpp.

References value.

◆ isInfinity()

bool stabilizer::parser::HighPrecisionReal::isInfinity ( ) const

Definition at line 696 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::isInfinity().

◆ isInteger()

bool stabilizer::parser::HighPrecisionReal::isInteger ( ) const

Definition at line 675 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::isInteger().

◆ isNaN()

bool stabilizer::parser::HighPrecisionReal::isNaN ( ) const

Definition at line 571 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::isNaN().

◆ isNegativeInfinity()

bool stabilizer::parser::HighPrecisionReal::isNegativeInfinity ( ) const

Definition at line 698 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::isNegativeInfinity().

◆ isPositiveInfinity()

bool stabilizer::parser::HighPrecisionReal::isPositiveInfinity ( ) const

Definition at line 702 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::isPositiveInfinity().

◆ lb()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::lb ( ) const

Definition at line 360 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::lb().

◆ lg()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::lg ( ) const

Definition at line 350 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::lg().

◆ ln()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::ln ( ) const

Definition at line 340 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::ln(), and log().

◆ ln10()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::ln10 ( mpfr_prec_t  precision = 128)
static

Definition at line 73 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::ln10().

◆ ln2()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::ln2 ( mpfr_prec_t  precision = 128)
static

Definition at line 67 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::ln2().

◆ log()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::log ( const HighPrecisionReal base) const

Definition at line 370 of file number.cpp.

References ln(), and value.

Referenced by stabilizer::parser::Number::log().

◆ log10_e()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::log10_e ( mpfr_prec_t  precision = 128)
static

Definition at line 88 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::log10_e().

◆ log2_e()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::log2_e ( mpfr_prec_t  precision = 128)
static

Definition at line 80 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::log2_e().

◆ nextAbove()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::nextAbove ( ) const

Definition at line 689 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::nextAbove().

◆ nextBelow()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::nextBelow ( ) const

Definition at line 682 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::nextBelow().

◆ operator!=()

bool stabilizer::parser::HighPrecisionReal::operator!= ( const HighPrecisionReal other) const

Definition at line 264 of file number.cpp.

◆ operator*()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::operator* ( const HighPrecisionReal other) const

Definition at line 220 of file number.cpp.

References value.

◆ operator*=()

HighPrecisionReal & stabilizer::parser::HighPrecisionReal::operator*= ( const HighPrecisionReal other)

Definition at line 248 of file number.cpp.

References value.

◆ operator+()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::operator+ ( const HighPrecisionReal other) const

Definition at line 198 of file number.cpp.

References value.

◆ operator+=()

HighPrecisionReal & stabilizer::parser::HighPrecisionReal::operator+= ( const HighPrecisionReal other)

Definition at line 236 of file number.cpp.

References value.

◆ operator-() [1/2]

HighPrecisionReal stabilizer::parser::HighPrecisionReal::operator- ( ) const

Definition at line 213 of file number.cpp.

References value.

◆ operator-() [2/2]

HighPrecisionReal stabilizer::parser::HighPrecisionReal::operator- ( const HighPrecisionReal other) const

Definition at line 206 of file number.cpp.

References value.

◆ operator-=()

HighPrecisionReal & stabilizer::parser::HighPrecisionReal::operator-= ( const HighPrecisionReal other)

Definition at line 242 of file number.cpp.

References value.

◆ operator/()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::operator/ ( const HighPrecisionReal other) const

Definition at line 228 of file number.cpp.

References value.

◆ operator/=()

HighPrecisionReal & stabilizer::parser::HighPrecisionReal::operator/= ( const HighPrecisionReal other)

Definition at line 254 of file number.cpp.

References value.

◆ operator<()

bool stabilizer::parser::HighPrecisionReal::operator< ( const HighPrecisionReal other) const

Definition at line 268 of file number.cpp.

References value.

◆ operator<=()

bool stabilizer::parser::HighPrecisionReal::operator<= ( const HighPrecisionReal other) const

Definition at line 272 of file number.cpp.

References value.

◆ operator=()

HighPrecisionReal & stabilizer::parser::HighPrecisionReal::operator= ( const HighPrecisionReal other)

Definition at line 181 of file number.cpp.

References value.

◆ operator==()

bool stabilizer::parser::HighPrecisionReal::operator== ( const HighPrecisionReal other) const

Definition at line 260 of file number.cpp.

References value.

◆ operator>()

bool stabilizer::parser::HighPrecisionReal::operator> ( const HighPrecisionReal other) const

Definition at line 276 of file number.cpp.

References value.

◆ operator>=()

bool stabilizer::parser::HighPrecisionReal::operator>= ( const HighPrecisionReal other) const

Definition at line 280 of file number.cpp.

References value.

◆ phi()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::phi ( mpfr_prec_t  precision = 128)
static

Definition at line 56 of file number.cpp.

References sqrt(), and value.

Referenced by stabilizer::parser::Number::phi().

◆ pi()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::pi ( mpfr_prec_t  precision = 128)
static

Definition at line 42 of file number.cpp.

References value.

Referenced by acot(), stabilizer::parser::Number::pi(), and stabilizer::parser::Parser::toReal().

◆ pow()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::pow ( const HighPrecisionReal exp) const

Definition at line 307 of file number.cpp.

References exp(), and value.

Referenced by stabilizer::parser::MathUtils::pow().

◆ round()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::round ( ) const

Definition at line 327 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::round(), and stabilizer::parser::MathUtils::round().

◆ safeSqrt()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::safeSqrt ( ) const

Definition at line 300 of file number.cpp.

References sqrt().

◆ sec()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::sec ( ) const

Definition at line 406 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::sec().

◆ sech()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::sech ( ) const

Definition at line 505 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::sech().

◆ setPrecision()

void stabilizer::parser::HighPrecisionReal::setPrecision ( mpfr_prec_t  precision)

Definition at line 667 of file number.cpp.

References value.

◆ sin()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::sin ( ) const

Definition at line 382 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::sin().

◆ sinh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::sinh ( ) const

Definition at line 481 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::sinh().

◆ sqrt()

◆ tan()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::tan ( ) const

Definition at line 394 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::tan().

◆ tanh()

HighPrecisionReal stabilizer::parser::HighPrecisionReal::tanh ( ) const

Definition at line 493 of file number.cpp.

References value.

Referenced by stabilizer::parser::Number::asech(), and stabilizer::parser::Number::tanh().

◆ toDouble()

double stabilizer::parser::HighPrecisionReal::toDouble ( ) const

Definition at line 619 of file number.cpp.

References toString().

◆ toFloat()

float stabilizer::parser::HighPrecisionReal::toFloat ( ) const

Definition at line 624 of file number.cpp.

References toString().

◆ toInt()

int stabilizer::parser::HighPrecisionReal::toInt ( ) const

Definition at line 629 of file number.cpp.

References value.

◆ toInteger()

Integer stabilizer::parser::HighPrecisionReal::toInteger ( ) const

◆ toLongLong()

long long stabilizer::parser::HighPrecisionReal::toLongLong ( ) const

Definition at line 640 of file number.cpp.

References value.

◆ toString()

std::string stabilizer::parser::HighPrecisionReal::toString ( ) const

Member Data Documentation

◆ value


The documentation for this class was generated from the following files: