All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes |
Private Member Functions |
Private Attributes |
Static Private Attributes |
List of all members
Rational Class Reference Wrapper for GMP type mpq_class.We wrap mpq_class so that we can replace it by a double type if GMP is not available. More...
Detailed DescriptionWrapper for GMP type mpq_class. We wrap mpq_class so that we can replace it by a double type if GMP is not available. If compiled with GMP support, Rational is defined as mpq_class. Definition at line 45 of file rational.h. Constructor & Destructor Documentation
special constructor only for initializing static rational variables; this is necessary since we need a constructor for Rational::{ZERO, POSONE, NEGONE} that does not use these numbers Definition at line 2994 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc().
default constructor Definition at line 3005 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc(). copy constructor Definition at line 3015 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc().
constructor from long double Definition at line 3025 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc().
constructor from double Definition at line 3035 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc().
constructor from int Definition at line 3045 of file rational.cpp. References Rational::dpointer, and soplex::spx_alloc().
destructor Definition at line 3055 of file rational.cpp. References Rational::dpointer, and soplex::spx_free(). Member Function Documentationadd product of two rationals Definition at line 3372 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. Referenced by SoPlex::_computeInfeasBox(). add quotient of two rationals, r divided by s Definition at line 3390 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
enables list memory Definition at line 3063 of file rational.cpp.
frees the unused rational elements in the memory list this can be useful when you want to save memory or needed when working with a GMP memory manager like the one in EGlib that frees GMP memory before the destructor of the static memory list is called; in most cases this method is optional; note that this does not free the Rational elements that are currently in use Definition at line 3075 of file rational.cpp.
inversion Definition at line 3408 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. Referenced by SoPlex::_performOptIRStable().
checks if checks if d is exactly equal to the Rational and if not, if it is one of the two adjacent doubles Definition at line 3434 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
checks if checks if d is the closest possible double Definition at line 3426 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
typecasts Rational to double (only allows explicit typecasting) typecasts Rational to double (allows only explicit typecast) Definition at line 3127 of file rational.cpp. References Rational::Private::privatevalue.
typecasts Rational to long double (only allows explicit typecasting) typecasts Rational to long double (allows only explicit typecast) Definition at line 3135 of file rational.cpp. multiplication operator Definition at line 3258 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
multiplication operator for doubles Definition at line 3277 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
multiplication operator for ints Definition at line 3296 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. multiplication assignment operator operator multiplication assignment operator Definition at line 3268 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
multiplication assignment operator for doubles Definition at line 3287 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
multiplication assignment operator for ints Definition at line 3306 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. addition operator Definition at line 3144 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
addition operator for doubles Definition at line 3163 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
addition operator for ints Definition at line 3182 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. addition assignment operator Definition at line 3154 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
addition assignment operator for doubles Definition at line 3173 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
addition assignment operator for ints Definition at line 3192 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. subtraction operator Definition at line 3201 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
subtraction operator for doubles Definition at line 3220 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
subtraction operator for ints Definition at line 3239 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. subtraction assignment operator Definition at line 3211 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
subtraction assignment operator for doubles Definition at line 3230 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
subtraction assignment operator for ints Definition at line 3249 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. division operator Definition at line 3315 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
division operator for doubles Definition at line 3334 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
division operator for ints Definition at line 3353 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. division assignment operator Definition at line 3325 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
division assignment operator for doubles Definition at line 3344 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
division assignment operator for ints Definition at line 3363 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue.
assignment operator from long double Definition at line 3100 of file rational.cpp. References Rational::dpointer.
assignment operator from double Definition at line 3109 of file rational.cpp. References Rational::dpointer.
assignment operator from int Definition at line 3118 of file rational.cpp. References Rational::dpointer.
round up to next power of two
Definition at line 3417 of file rational.cpp. Referenced by SoPlex::_performOptIRStable().
returns precision of Rational implementation, i.e., number of bits used to store Rational numbers (INT_MAX if exact) Definition at line 3451 of file rational.cpp. Referenced by Rational::sizeInBase().
read Rational from string Definition at line 3459 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. Referenced by soplex::LPFreadValue(), soplex::MPSreadBounds(), soplex::MPSreadCols(), soplex::MPSreadRanges(), and soplex::MPSreadRhs().
Size in specified base (bit size for base 2)
Definition at line 3442 of file rational.cpp. References Rational::precision(). subtract product of two rationals Definition at line 3381 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. Referenced by SoPlex::_computeInfeasBox(). subtract quotient of two rationals, r divided by s Definition at line 3399 of file rational.cpp. References Rational::dpointer, and Rational::Private::privatevalue. Friends And Related Function Documentationcomparison operator returning a positive value if r > s, zero if r = s, and a negative value if r < s Definition at line 3495 of file rational.cpp. inequality operator Definition at line 3516 of file rational.cpp.
inequality operator for Rational and double Definition at line 3565 of file rational.cpp.
inequality operator double and Rational inequality operator for double and Rational Definition at line 3615 of file rational.cpp.
inequality operator for Rational and long double Definition at line 3666 of file rational.cpp.
inequality operator long double and Rational inequality operator for long double and Rational Definition at line 3716 of file rational.cpp.
inequality operator for Rational and int Definition at line 3765 of file rational.cpp.
inequality operator for int and Rational Definition at line 3813 of file rational.cpp. multiplication operator for double and Rational Definition at line 3873 of file rational.cpp. multiplication operator for int and Rational Definition at line 3909 of file rational.cpp. addition operator for double and Rational Definition at line 3853 of file rational.cpp. addition operator for int and Rational Definition at line 3893 of file rational.cpp. subtraction operator for double and Rational Definition at line 3863 of file rational.cpp. subtraction operator for int and Rational Definition at line 3901 of file rational.cpp. Negation. Definition at line 3946 of file rational.cpp. division operator for double and Rational Definition at line 3883 of file rational.cpp. division operator for int and Rational Definition at line 3917 of file rational.cpp. less than operator Definition at line 3524 of file rational.cpp.
less than operator for Rational and double Definition at line 3574 of file rational.cpp.
less than operator double and Rational less than operator for double and Rational Definition at line 3624 of file rational.cpp.
less than operator for Rational and long double Definition at line 3675 of file rational.cpp.
less than operator long double and Rational less than operator for long double and Rational Definition at line 3725 of file rational.cpp.
less than operator for Rational and int Definition at line 3773 of file rational.cpp.
less than operator for int and Rational Definition at line 3821 of file rational.cpp.
print Rational Definition at line 3486 of file rational.cpp. less than or equal to operator Definition at line 3532 of file rational.cpp.
less than or equal to operator for Rational and double Definition at line 3582 of file rational.cpp.
less than or equal to operator double and Rational less than or equal to operator for double and Rational Definition at line 3632 of file rational.cpp.
less than or equal to operator for Rational and long double Definition at line 3683 of file rational.cpp.
less than or equal to operator long double and Rational less than or equal to operator for long double and Rational Definition at line 3733 of file rational.cpp.
less than or equal to operator for Rational and int Definition at line 3781 of file rational.cpp.
less than or equal to operator for int and Rational Definition at line 3829 of file rational.cpp. equality operator Definition at line 3508 of file rational.cpp.
equality operator for Rational and double Definition at line 3556 of file rational.cpp.
equality operator for double and Rational Definition at line 3606 of file rational.cpp.
equality operator for Rational and long double Definition at line 3657 of file rational.cpp.
equality operator for long double and Rational Definition at line 3707 of file rational.cpp.
equality operator for Rational and int Definition at line 3757 of file rational.cpp.
equality operator for int and Rational Definition at line 3805 of file rational.cpp. greater than operator Definition at line 3540 of file rational.cpp.
greater than operator for Rational and double Definition at line 3590 of file rational.cpp.
greater than operator double and Rational greater than operator for double and Rational Definition at line 3640 of file rational.cpp.
greater than operator for Rational and long double Definition at line 3691 of file rational.cpp.
greater than operator long double and Rational greater than operator for long double and Rational Definition at line 3741 of file rational.cpp.
greater than operator for Rational and int Definition at line 3789 of file rational.cpp.
greater than operator for int and Rational Definition at line 3837 of file rational.cpp. greater than or equal to operator Definition at line 3548 of file rational.cpp.
greater than or equal to operator for Rational and double Definition at line 3598 of file rational.cpp.
greater than or equal to operator double and Rational greater than or equal to operator for double and Rational Definition at line 3648 of file rational.cpp.
greater than or equal to operator for Rational and long double Definition at line 3699 of file rational.cpp.
greater than or equal to operator long double and Rational greater than or equal to operator for long double and Rational Definition at line 3749 of file rational.cpp.
greater than or equal to operator for Rational and int Definition at line 3797 of file rational.cpp.
greater than or equal to operator for int and Rational Definition at line 3845 of file rational.cpp.
convert rational number to string Definition at line 3468 of file rational.cpp.
read Rational from string Definition at line 3478 of file rational.cpp.
Sign function; returns 1 if r > 0, 0 if r = 0, and -1 if r < 0. Definition at line 3938 of file rational.cpp. Member Data Documentation
Definition at line 48 of file rational.h. Referenced by Rational::addProduct(), Rational::addQuotient(), soplex::compareRational(), Rational::invert(), Rational::isAdjacentTo(), Rational::isNextTo(), soplex::operator!=(), Rational::operator*(), soplex::operator*(), Rational::operator*=(), Rational::operator+(), soplex::operator+(), Rational::operator+=(), Rational::operator-(), soplex::operator-(), Rational::operator-=(), Rational::operator/(), soplex::operator/(), Rational::operator/=(), soplex::operator<(), soplex::operator<<(), soplex::operator<=(), Rational::operator=(), soplex::operator==(), soplex::operator>(), soplex::operator>=(), Rational::Rational(), Rational::readString(), soplex::readStringRational(), soplex::sign(), soplex::spxAbs(), Rational::subProduct(), Rational::subQuotient(), and Rational::~Rational().
rational minus one Definition at line 65 of file rational.h. Referenced by SoPlex::_transformFeasibility().
rational plus one Definition at line 64 of file rational.h. Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_transformFeasibility(), and SoPlex::_untransformUnbounded(). Definition at line 51 of file rational.h.
Definition at line 52 of file rational.h.
rational zero Definition at line 63 of file rational.h. Referenced by SoPlex::_transformEquality(), and SoPlex::objValueRational(). |