44 #ifndef Included_RexxInteger
45 #define Included_RexxInteger
50 #define INTEGERCACHELOW -10
51 #define INTEGERCACHESIZE 100
52 #define MAX_INTEGER_LENGTH 10
60 inline void *
operator new(
size_t size,
void *ptr) {
return ptr;};
61 void *
operator new(size_t);
181 void *
operator new(
size_t size,
void *ptr) {
return ptr;};
182 void *
operator new (size_t);
183 void *
operator new(
size_t size,
size_t size1,
const char *className,
RexxBehaviour *classBehave,
RexxBehaviour *instance) {
return new (size, className, classBehave, instance)
RexxClass; }
184 inline void operator delete(
void *,
void *ptr) { }
185 inline void operator delete (
void *) { }
void integer_create(void)
RexxInteger * new_integer(wholenumber_t v)
RexxObject *(RexxObject::* PCPPM)()
void liveGeneral(int reason)
RexxInteger * newCache(wholenumber_t value)
RexxIntegerClass(RESTORETYPE restoreType)
RexxInteger * integercache[INTEGERCACHESIZE - INTEGERCACHELOW]
bool numberValue(wholenumber_t &result, size_t precision)
RexxInteger * isLessOrEqual(RexxObject *)
void setString(RexxString *string)
static RexxInteger * integerFour
RexxObject * xorOp(RexxObject *)
static void createInstance()
static RexxInteger * integerSix
RexxInteger * equal(RexxObject *)
wholenumber_t strictComp(RexxObject *, RexxString *alternativeOperator=OREF_NULL, RexxInteger **alternativeOperatorResultPtr=NULL)
RexxInteger * isLessThan(RexxObject *)
RexxInteger * strictGreaterOrEqual(RexxObject *)
RexxString * concat(RexxString *)
static RexxInteger * falseObject
static RexxInteger * integerThree
RexxInteger * isGreaterThan(RexxObject *)
static RexxInteger * integerSeven
RexxInteger * notEqual(RexxObject *)
void flatten(RexxEnvelope *)
static wholenumber_t validMaxWhole[]
RexxObject * power(RexxObject *)
RexxObject * getRealValue(RexxActivation *)
RexxObject * plus(RexxInteger *)
RexxString * getStringrep()
wholenumber_t incrementValue()
RexxObject * remainder(RexxInteger *)
RexxObject * minus(RexxInteger *)
static RexxInteger * integerZero
RexxObject * Max(RexxObject **, size_t, size_t)
bool isEqual(RexxObject *)
static RexxInteger * integerTwo
RexxObject * d2x(RexxObject *)
RexxInteger * strictGreaterThan(RexxObject *)
RexxObject * operatorNot(RexxObject *)
RexxInteger(RESTORETYPE restoreType)
RexxNumberString * numberString()
RexxInteger * strictLessOrEqual(RexxObject *)
RexxInteger * strictLessThan(RexxObject *)
static RexxInteger * integerNine
RexxObject * trunc(RexxObject *)
RexxObject * Min(RexxObject **, size_t, size_t)
RexxInteger * isGreaterOrEqual(RexxObject *)
static RexxInteger * nullPointer
RexxString * concatBlank(RexxString *)
RexxObject * d2c(RexxObject *)
void liveGeneral(int reason)
virtual HashCode getHashValue()
RexxClass * classObject()
bool isInstanceOf(RexxClass *)
static RexxInteger * trueObject
RexxInteger * integerValue(size_t)
RexxObject * getValue(RexxActivation *)
RexxString * stringValue()
void copyIntoTail(RexxCompoundTail *)
RexxObject * andOp(RexxObject *)
wholenumber_t wholeNumber()
static RexxInteger * integerEight
RexxObject * multiply(RexxInteger *)
wholenumber_t decrementValue()
virtual wholenumber_t compareTo(RexxObject *)
RexxInteger * hasMethod(RexxString *)
RexxInteger * strictNotEqual(RexxObject *)
RexxObject * orOp(RexxObject *)
static RexxIntegerClass * classInstance
RexxObject * unknown(RexxString *, RexxArray *, RexxDirectory *)
RexxMethod * instanceMethod(RexxString *)
RexxString * makeString()
wholenumber_t comp(RexxObject *other, RexxString *alternativeOperator=OREF_NULL, RexxInteger **alternativeOperatorResultPtr=NULL)
static RexxInteger * integerMinusOne
RexxObject * format(RexxObject *, RexxObject *, RexxObject *, RexxObject *)
static RexxInteger * integerOne
stringsize_t stringSize()
RexxObject * evaluate(RexxActivation *, RexxExpressionStack *)
koper(integer_operator_not) inline wholenumber_t getValue()
RexxInteger * strictEqual(RexxObject *)
RexxObject * integerDivide(RexxInteger *)
static RexxInteger * integerFive
bool doubleValue(double &result)
RexxSupplier * instanceMethods(RexxClass *)
RexxInteger(wholenumber_t intValue)
bool unsignedNumberValue(stringsize_t &result, size_t precision)
RexxObject * divide(RexxInteger *)
virtual bool logicalValue(logical_t &)
RexxString * primitiveMakeString()
static PCPPM operatorMethods[]