Public Member Functions | |
| void | swap (Checked_Number &y) |
Swaps *this with y. | |
Constructors | |
| Checked_Number () | |
| Default constructor. | |
| Checked_Number (const signed char y) | |
| Direct initialization from a signed char value. | |
| Checked_Number (const short y) | |
| Direct initialization from a signed short value. | |
| Checked_Number (const int y) | |
| Direct initialization from a signed int value. | |
| Checked_Number (const long y) | |
| Direct initialization from a signed long value. | |
| Checked_Number (const long long y) | |
| Direct initialization from a signed long long value. | |
| Checked_Number (const unsigned char y) | |
| Direct initialization from an unsigned char value. | |
| Checked_Number (const unsigned short y) | |
| Direct initialization from an unsigned short value. | |
| Checked_Number (const unsigned int y) | |
| Direct initialization from an unsigned int value. | |
| Checked_Number (const unsigned long y) | |
| Direct initialization from an unsigned long value. | |
| Checked_Number (const unsigned long long y) | |
| Direct initialization from an unsigned long long value. | |
| Checked_Number (const float32_t y) | |
| Direct initialization from a 32 bits floating-point value. | |
| Checked_Number (const float64_t y) | |
| Direct initialization from a 64 bits floating-point value. | |
| Checked_Number (const mpq_class &y) | |
| Direct initialization from a GMP unbounded rational value. | |
| Checked_Number (const mpz_class &y) | |
| Direct initialization from a GMP unbounded integer value. | |
| Checked_Number (const char *y) | |
| Direct initialization from a C string value. | |
Accessors and Conversions | |
| operator T () const | |
| Conversion operator: returns a copy of the undelying native integer value. | |
| T & | raw_value () |
| Returns a reference to the underlying native integer value. | |
| const T & | raw_value () const |
| Returns a const reference to the underlying native integer value. | |
Assignment Operators | |
| Checked_Number & | operator= (const Checked_Number &y) |
| Assignment operator. | |
| Checked_Number & | operator+= (const Checked_Number &y) |
| Add and assign operator. | |
| Checked_Number & | operator-= (const Checked_Number &y) |
| Subtract and assign operator. | |
| Checked_Number & | operator *= (const Checked_Number &y) |
| Multiply and assign operator. | |
| Checked_Number & | operator/= (const Checked_Number &y) |
| Divide and assign operator. | |
| Checked_Number & | operator%= (const Checked_Number &y) |
| Compute modulus and assign operator. | |
Increment and Decrement Operators | |
| Checked_Number & | operator++ () |
| Pre-increment operator. | |
| Checked_Number | operator++ (int) |
| Post-increment operator. | |
| Checked_Number & | operator-- () |
| Pre-decrement operator. | |
| Checked_Number | operator-- (int) |
| Post-decrement operator. | |
Related Functions | |
| (Note that these are not member functions.) | |
Accessor Functions | |
| const T & | raw_value (const Checked_Number< T, Policy > &x) |
| Returns a const reference to the underlying native integer value. | |
| T & | raw_value (Checked_Number< T, Policy > &x) |
| Returns a reference to the underlying native integer value. | |
Memory Size Inspection Functions | |
| size_t | total_memory_in_bytes (const Checked_Number< T, Policy > &x) |
Returns the total size in bytes of the memory occupied by x. | |
| size_t | external_memory_in_bytes (const Checked_Number< T, Policy > &x) |
Returns the size in bytes of the memory managed by x. | |
Arithmetic Operators | |
| Checked_Number< T, Policy > | operator+ (const Checked_Number< T, Policy > &x) |
| Unary plus operator. | |
| Checked_Number< T, Policy > | operator- (const Checked_Number< T, Policy > &x) |
| Unary minus operator. | |
| Checked_Number< T, Policy > | operator+ (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Addition operator. | |
| Checked_Number< T, Policy > | operator- (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Subtraction operator. | |
| Checked_Number< T, Policy > | operator * (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Multiplication operator. | |
| Checked_Number< T, Policy > | operator/ (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Integer division operator. | |
| Checked_Number< T, Policy > | operator% (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Modulus operator. | |
| void | negate (Checked_Number< T, Policy > &x) |
Assigns to x its negation. | |
| void | add_mul_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
Assigns to x the value x + y * z. | |
| void | sub_mul_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
Assigns to x the value x - y * z. | |
| void | gcd_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
Assigns to x the greatest common divisor of x and y. | |
| void | gcd_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
Assigns to x the greatest common divisor of y and z. | |
| void | lcm_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
Assigns to x the least common multiple of x and y. | |
| void | lcm_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
Assigns to x the least common multiple of y and z. | |
| void | exact_div_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
Assigns to x the integer division of x and y. | |
| void | exact_div_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y, const Checked_Number< T, Policy > &z) |
Assigns to x the integer division of y and z. | |
| void | sqrt_assign (Checked_Number< T, Policy > &x) |
Assigns to x its integer square root. | |
| void | sqrt_assign (Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
Assigns to x the integer square root of y. | |
Relational Operators and Comparison Functions | |
| bool | operator== (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Equality operator. | |
| bool | operator!= (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Disequality operator. | |
| bool | operator>= (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Greater than or equal to operator. | |
| bool | operator> (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Greater than operator. | |
| bool | operator<= (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Less than or equal to operator. | |
| bool | operator< (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
| Less than operator. | |
| int | sgn (const Checked_Number< T, Policy > &x) |
Returns , or depending on whether the value of x is negative, zero or positive, respectively. | |
| int | cmp (const Checked_Number< T, Policy > &x, const Checked_Number< T, Policy > &y) |
Returns a negative, zero or positive value depending on whether x is lower than, equal to or greater than y, respectively. | |
Input-Output Operators | |
| std::ostream & | operator<< (std::ostream &os, const Checked_Number< T, Policy > &x) |
| Output operator. | |
| std::istream & | operator>> (std::istream &is, Checked_Number< T, Policy > &x) |
| Input operator. | |
The wrapper and related functions implement an interface which is common to all kinds of coefficient types, therefore allowing for a uniform coding style. This class also implements the policy encoded by the second template parameter. The default policy is to perform the detection of overflow errors.
1.3.9.1-20041213