#include <Real.h>
Inheritance diagram for Core::Real:
Public Member Functions | |
virtual String * | className (void) const |
Answer receiver class name. | |
virtual double | asDouble (void) const |
virtual long long | asLongLong (void) const |
virtual Integer * | rounded (void) const |
Round the receiver and answer an Integer. | |
virtual Integer * | truncated (void) const |
Answer the integer part as an Integer. | |
virtual long | hash (void) const |
Answer object hash value. | |
virtual bool | isEqual (const Object *object) const |
Compare receiver with given object. | |
virtual bool | isEqual (const Object &object) const |
Compare receiver with given object. | |
virtual bool | isEqual (int arg) const |
virtual bool | isEqual (double arg) const |
virtual bool | isEqualToLongLong (long long arg) const |
virtual bool | isEqualToDouble (double arg) const |
virtual Number * | negate (void) |
virtual void | printOn (Stream *stream) const |
Print object identification into the stream. | |
virtual bool | isReal (void) const |
virtual bool | isPositive (void) const |
Answer whether the recevier is positive (including zero). | |
virtual bool | isZero (void) const |
Answer whether the receiver represents a zero in it's domain. | |
Static Public Member Functions | |
static Real * | value (double val) |
Protected Member Functions | |
Real (double v) | |
Protected Attributes | |
double | _value |
Generally a wrapper for operations with other numbers. See method comments in the Number
class.
Definition at line 42 of file Real.h.
|
Definition at line 32 of file Real.cc. References _value. Referenced by value(). 00033 { 00034 _value = v; 00035 }
|
|
Reimplemented from Core::Number. Definition at line 50 of file Real.cc. References _value. 00051 { 00052 return _value; 00053 }
|
|
Reimplemented from Core::Number. Definition at line 55 of file Real.cc. References _value. 00056 { 00057 return (long long) _value; 00058 }
|
|
Answer receiver class name. Because there isn't any standard way to obtain class name this method comes to place. Every class should rewrite this method but many didn't (yet). Reimplemented from Core::Number. Definition at line 38 of file Real.cc. 00039 { 00040 return new String("Real"); 00041 }
|
|
Answer object hash value. The value should be same for objects found equal with isEqual() method. So if you rewrite this method you should rewrite isEqual() method too. Reimplemented from Core::Object. Definition at line 71 of file Real.cc. References _value. 00072 { 00073 return (long) _value; 00074 }
|
|
Reimplemented from Core::Number. Definition at line 74 of file Real.h. References Core::Number::isEqual(). 00075 { return Number::isEqual(arg); }
|
|
Reimplemented from Core::Number. Definition at line 72 of file Real.h. References Core::Number::isEqual(). 00073 { return Number::isEqual(arg); }
|
|
Compare receiver with given object. Do not rewrite this method. It just a sugar for Object::isEqual(Object *).
Reimplemented from Core::Number. Definition at line 70 of file Real.h. References Core::Number::isEqual(). 00071 { return Number::isEqual(object); }
|
|
Compare receiver with given object. This method could compare objects with more sophisticated algorithm (eg. based on instance variables comparing or so). If you rewrite this method you should rewrite hash() too.
Reimplemented from Core::Number. Definition at line 76 of file Real.cc. References _value. 00077 { 00078 if (!object->isNumber()) return false; 00079 00080 return ((Number *) object)->isEqualToDouble(_value); 00081 }
|
|
Reimplemented from Core::Number. Definition at line 89 of file Real.cc. References _value. 00090 { 00091 return _value == arg; 00092 }
|
|
Reimplemented from Core::Number. Definition at line 84 of file Real.cc. References _value. 00085 { 00086 return _value == arg; 00087 }
|
|
Answer whether the recevier is positive (including zero).
Reimplemented from Core::Number. Definition at line 115 of file Real.cc. References _value. 00116 { 00117 return _value >= 0; 00118 }
|
|
Reimplemented from Core::Number. Definition at line 110 of file Real.cc. 00111 { 00112 return true; 00113 }
|
|
Answer whether the receiver represents a zero in it's domain.
Reimplemented from Core::Number. Definition at line 120 of file Real.cc. References _value. Referenced by negate(). 00121 { 00122 return _value == 0; 00123 }
|
|
Reimplemented from Core::Number. Definition at line 95 of file Real.cc. References _value, isZero(), and value(). 00096 { 00097 if (isZero()) return this; 00098 return Real::value(-_value); 00099 }
|
|
Print object identification into the stream. Object identification is formed from its className() by default. But complicated classes (eg. collections) may print some other information.
Reimplemented from Core::Object. Definition at line 102 of file Real.cc. References _value, and Core::Stream::nextPutAll(). 00103 { 00104 char number[30]; 00105 sprintf(number, "%f", _value); 00106 stream->nextPutAll(number); 00107 }
|
|
Round the receiver and answer an Integer.
Definition at line 60 of file Real.cc. References _value, and Core::Integer::value(). 00061 { 00062 return Integer::value((long long) (_value + 0.5)); 00063 }
|
|
Answer the integer part as an Integer.
Definition at line 65 of file Real.cc. References Core::Integer::value(). 00066 { 00067 return Integer::value(this->asLongLong()); 00068 }
|
|
Definition at line 44 of file Real.cc. References Real(). Referenced by Core::Number::fromStringRadix(), and negate(). 00045 { 00046 return new Real(val); 00047 }
|
|
Definition at line 45 of file Real.h. Referenced by asDouble(), asLongLong(), hash(), isEqual(), isEqualToDouble(), isEqualToLongLong(), isPositive(), isZero(), negate(), printOn(), Real(), and rounded(). |