Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | Namespace Members | Class Members | Related Pages

Parma_Polyhedra_Library::Checked_Number< T, Policy > Class Template Reference

A wrapper for native numeric types implementing a given policy. More...

List of all members.

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_Numberoperator= (const Checked_Number &y)
 Assignment operator.
Checked_Numberoperator+= (const Checked_Number &y)
 Add and assign operator.
Checked_Numberoperator-= (const Checked_Number &y)
 Subtract and assign operator.
Checked_Numberoperator *= (const Checked_Number &y)
 Multiply and assign operator.
Checked_Numberoperator/= (const Checked_Number &y)
 Divide and assign operator.
Checked_Numberoperator%= (const Checked_Number &y)
 Compute modulus and assign operator.
Increment and Decrement Operators
Checked_Numberoperator++ ()
 Pre-increment operator.
Checked_Number operator++ (int)
 Post-increment operator.
Checked_Numberoperator-- ()
 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 $-1$, $0$ or $1$ 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.


Detailed Description

template<typename T, typename Policy>
class Parma_Polyhedra_Library::Checked_Number< T, Policy >

A wrapper for native numeric types implementing a given policy.

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.


Generated on Fri Dec 24 16:50:18 2004 for PPL by  doxygen 1.3.9.1-20041213