SpeedCrunch  0.11
Public Member Functions | Friends
HNumber Class Reference

#include <hmath.h>

List of all members.

Public Member Functions

 HNumber ()
 HNumber (const HNumber &)
 HNumber (int i)
 HNumber (const char *)
 ~HNumber ()
bool isNan () const
bool isZero () const
bool isPositive () const
bool isNegative () const
bool isInteger () const
char format () const
HNumbersetFormat (char c=0)
int toInt () const
Error error () const
HNumberoperator= (const HNumber &)
HNumber operator+ (const HNumber &) const
HNumberoperator+= (const HNumber &)
HNumberoperator-= (const HNumber &)
HNumber operator* (const HNumber &) const
HNumberoperator*= (const HNumber &)
HNumber operator/ (const HNumber &) const
HNumberoperator/= (const HNumber &)
HNumber operator% (const HNumber &) const
HNumber operator& (const HNumber &) const
HNumberoperator&= (const HNumber &)
HNumber operator| (const HNumber &) const
HNumberoperator|= (const HNumber &)
HNumber operator^ (const HNumber &) const
HNumberoperator^= (const HNumber &)
HNumber operator~ () const
HNumber operator>> (const HNumber &) const
HNumber operator<< (const HNumber &) const

Friends

class HMath
HNumber operator- (const HNumber &)
HNumber operator- (const HNumber &, const HNumber &)
bool operator> (const HNumber &l, const HNumber &r)
bool operator< (const HNumber &l, const HNumber &r)
bool operator>= (const HNumber &l, const HNumber &r)
bool operator<= (const HNumber &l, const HNumber &r)
bool operator== (const HNumber &l, const HNumber &r)
bool operator!= (const HNumber &l, const HNumber &r)

Constructor & Destructor Documentation

Creates a new number.

HNumber::HNumber ( const HNumber hn)

Copies from another number.

HNumber::HNumber ( int  i)

Creates a new number from an integer value.

HNumber::HNumber ( const char *  str)

Creates a new number from a string.

Destroys this number.


Member Function Documentation

Error HNumber::error ( ) const

Returns the error code kept with a NaN.

char HNumber::format ( ) const

Returns the preferred format (base/precision), default is 0

bool HNumber::isInteger ( ) const

Returns true if this number is integer.

bool HNumber::isNan ( ) const

Returns true if this number is Not a Number (NaN).

bool HNumber::isNegative ( ) const

Returns true if this number is less than zero.

bool HNumber::isPositive ( ) const

Returns true if this number is more than zero.

bool HNumber::isZero ( ) const

Returns true if this number is zero.

HNumber HNumber::operator% ( const HNumber num) const

Modulo (rest of integer division)

HNumber HNumber::operator& ( const HNumber num) const

Bitwise ANDs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

HNumber & HNumber::operator&= ( const HNumber num)

Bitwise ANDs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

HNumber HNumber::operator* ( const HNumber num) const

Multiplies with another number.

HNumber & HNumber::operator*= ( const HNumber num)

Multiplies with another number.

HNumber HNumber::operator+ ( const HNumber num) const

Adds another number.

HNumber & HNumber::operator+= ( const HNumber num)

Adds another number.

HNumber & HNumber::operator-= ( const HNumber num)

Subtract from another number.

HNumber HNumber::operator/ ( const HNumber num) const

Divides with another number.

HNumber & HNumber::operator/= ( const HNumber num)

Divides with another number.

HNumber HNumber::operator<< ( const HNumber num) const

Shifts the integral part of <*this> to the left by the parameters value's bits. Zeros are shifted in to the right, shifted out bits are dropped. Yields NaN, if the operand exeeds the logic range, or the shift count is not a non-negative integer.

HNumber & HNumber::operator= ( const HNumber hn)

Assigns from another number.

HNumber HNumber::operator>> ( const HNumber num) const

Shifts the integral part of <*this> to the right by the parameters value's bits. The most significand bit is duplicated to the left, shifted out bits are dropped (signed or arithmethic shift right). Yields NaN, if the operand exeeds the logic range, or the shift count is not a non-negative integer.

HNumber HNumber::operator^ ( const HNumber num) const

Bitwise XORs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

HNumber & HNumber::operator^= ( const HNumber num)

Bitwise XORs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

HNumber HNumber::operator| ( const HNumber num) const

Bitwise ORs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

HNumber & HNumber::operator|= ( const HNumber num)

Bitwise ORs the integral parts of both operands. Yields NaN, if any operand exeeds the logic range

Bitwise NOTs the integral part *this. Yields NaN, if *this exeeds the logic range

HNumber & HNumber::setFormat ( char  c = 0)

Sets the preferred format (base/precision), default is 0

int HNumber::toInt ( ) const

Returns the number as an int. It is meant to convert small (integer) numbers only and no checking is done whatsoever.


Friends And Related Function Documentation

friend class HMath [friend]
bool operator!= ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is not equal to r.

HNumber operator- ( const HNumber x) [friend]

Changes the sign.

HNumber operator- ( const HNumber n1,
const HNumber n2 
) [friend]

Subtract from another number.

bool operator< ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is less than r.

bool operator<= ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is less than or equal to r.

bool operator== ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is equal to r.

bool operator> ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is greater than r.

bool operator>= ( const HNumber l,
const HNumber r 
) [friend]

Returns true if l is greater than or equal to r.


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