Jive reference manual
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions
jem::Float Class Reference
Inheritance diagram for jem::Float:
Inheritance graph

Public Member Functions

 Float (double value=0.0)
 
 Float (const String &s)
 
virtual void readFrom (io::ObjectInput &in)
 
virtual void writeTo (io::ObjectOutput &out) const
 
virtual String toString () const
 Returns a short textual description of this object. More...
 
virtual lint hashValue () const
 Returns a hash value for this object. More...
 
virtual bool equals (const Ref< Object > &rhs) const
 Tests whether two objects are equal. More...
 
virtual Ref< Objectclone () const
 
virtual lint toInteger () const
 
virtual double toFloat () const
 
virtual bool isFloat () const
 
- Public Member Functions inherited from jem::Number
bool isInteger () const
 
- Public Member Functions inherited from jem::Object
virtual ClassgetClass () const
 Returns the Class instance representing the runtime class of this object. More...
 
Ref< Objectclone () const
 Returns a copy of this object. More...
 

Static Public Member Functions

static double parse (const String &str)
 
static bool parse (float &value, const String &str)
 
static bool parse (double &value, const String &str)
 
static idx_t print (char *buf, idx_t bufsize, double value)
 
static bool isNaN (float val)
 
static bool isNaN (double val)
 
static bool isTiny (float val)
 
static bool isTiny (double val)
 
static Self * dynamicCast (Object &rhs)
 
- Static Public Member Functions inherited from jem::Number
static Self * dynamicCast (Object &rhs)
 
- Static Public Member Functions inherited from jem::Object
static ClassgetType ()
 Returns the Class instance representing the Object class. More...
 

Public Attributes

double value
 

Static Public Attributes

static const double MIN_VALUE
 
static const double MAX_VALUE
 
static const double EPSILON
 

Protected Member Functions

virtual ~Float ()
 
- Protected Member Functions inherited from jem::Number
 Number ()
 
virtual ~Number ()
 
virtual void emitVtableFunc_ ()
 
- Protected Member Functions inherited from jem::Collectable
 Collectable ()
 Creates an empty Collectable. More...
 
 ~Collectable ()
 Frees resources. More...
 
- Protected Member Functions inherited from jem::Clonable
virtual ~Clonable ()
 
virtual void emitVTable_ ()
 
- Protected Member Functions inherited from jem::Interface
virtual ~Interface ()
 Empty destructor. More...
 
- Protected Member Functions inherited from jem::io::Serializable
virtual ~Serializable ()
 
virtual void emitVtableFunc_ ()
 

Constructor & Destructor Documentation

jem::Float::Float ( double  value = 0.0)
explicit
jem::Float::Float ( const String s)
explicit
virtual jem::Float::~Float ( )
protectedvirtual

Member Function Documentation

virtual void jem::Float::readFrom ( io::ObjectInput in)
virtual

Implements jem::io::Serializable.

virtual void jem::Float::writeTo ( io::ObjectOutput out) const
virtual

Implements jem::io::Serializable.

virtual String jem::Float::toString ( ) const
virtual

Returns a short textual description of this object. The toString method of the class Object returns:

getClass()->getName() + "@" + String( hashValue() )

Returns
A String representing this object.

Reimplemented from jem::Object.

virtual lint jem::Float::hashValue ( ) const
virtual

Returns a hash value for this object. This function should return the same hash value when it is invoked more than once on the same object, provided that the object is not modified. If two object are equal according to the equals method, then those objects should return the same hash value. Note that two objects which are not equal may also return the same hash value.

The hashValue implementation of the Object class returns a hash value for the memory address of the object.

Returns
A long integer representing the hash value of this object.

Reimplemented from jem::Object.

virtual bool jem::Float::equals ( const Ref< Object > &  obj) const
virtual

Tests whether this Object is equal to the Object obj. The equals method should be:

  • reflexive: for all objects x, x->equals(x) should return true.
  • symmetric: for all objects x and y, x->equals(y) should return the same value as y->equals(x).
  • transitive: if, for any objects x, y, and z, x->equals(y) returns true and y->equals(z) returns true, then x->equals(z) should return true.
  • consistent: for all objects x and y, multiple invocations of x->equals(y) should return the same value as long as the objects are not modified.

In addition, x->equals(NIL) should return false for all objects x.

The default implementation of equals returns true if and only if this object and the argument obj are located at the same memory address. That is, the default implementation returns (this == obj).

Parameters
obj- the object this object should be compared to, or NIL.
Returns
true is this object equals the object obj, and false otherwise.

Reimplemented from jem::Object.

virtual Ref<Object> jem::Float::clone ( ) const
virtual

Implements jem::Clonable.

virtual lint jem::Float::toInteger ( ) const
virtual

Implements jem::Number.

virtual double jem::Float::toFloat ( ) const
virtual

Implements jem::Number.

virtual bool jem::Float::isFloat ( ) const
virtual

Implements jem::Number.

static double jem::Float::parse ( const String str)
static
static bool jem::Float::parse ( float &  value,
const String str 
)
static
static bool jem::Float::parse ( double &  value,
const String str 
)
static
static idx_t jem::Float::print ( char *  buf,
idx_t  bufsize,
double  value 
)
static
static bool jem::Float::isNaN ( float  val)
static
static bool jem::Float::isNaN ( double  val)
static
static bool jem::Float::isTiny ( float  val)
static
static bool jem::Float::isTiny ( double  val)
static
static Self* jem::Float::dynamicCast ( Object rhs)
static

Member Data Documentation

const double jem::Float::MIN_VALUE
static
const double jem::Float::MAX_VALUE
static
const double jem::Float::EPSILON
static
double jem::Float::value