112 if (
iVal > INT_MAX ||
iVal < INT_MIN)
119 sLog.Error(
"EvilNumber::GetPyObject()",
"EvilNumber is neither integer nor float. Returning None");
132 if (
double(cmp_val) ==
fVal) {
145 return std::isnan(
fVal);
154 return std::isinf(
fVal);
160 return (
fVal != 0.0);
206 result.
fVal = std::sin( (
double)(val.
iVal) );
218 result.
fVal = std::cos( (
double)(val.
iVal) );
230 result.
fVal = std::tan( (
double)(val.
iVal) );
240 result.
fVal = std::asin( val.
fVal );
242 result.
fVal = std::asin( (
double)(val.
iVal) );
252 result.
fVal = std::acos( val.
fVal );
254 result.
fVal = std::acos( (
double)(val.
iVal) );
264 result.
fVal = std::atan( val.
fVal );
266 result.
fVal = std::atan( (
double)(val.
iVal) );
276 result.
fVal = std::sqrt( val.
fVal );
278 result.
fVal = std::sqrt( (
double)(val.
iVal) );
291 exponent.
fVal = (double)(val2.
iVal);
297 result.
fVal = std::pow( (
double)(val1.
iVal), exponent.
fVal );
309 result.
fVal = std::log( (
double)(val.
iVal) );
319 result.
fVal = std::log10( val.
fVal );
321 result.
fVal = std::log10( (
double)(val.
iVal) );
333 result.
fVal = std::exp( (
double)(val.
iVal) );
502 double tVal = (double)
iVal;
535 double tVal = (double)val1.
iVal;
562 double tVal = (double)
iVal;
EvilNumber _SelfMultiply(const EvilNumber &val)
EvilNumber _Multiply(const EvilNumber &val1, const EvilNumber &val2)
multiply this with
PyRep * GetPyObject()
converts the EvilNumber into a python object.
Python floating point number.
EvilNumber _Divide(const EvilNumber &val1, const EvilNumber &val2)
divide this with
this is a class that kinda mimics how python polymorph's numbers.
static EvilNumber exp(const EvilNumber &val)
const EvilNumber EvilTime_Month
const EvilNumber EvilTime_Minute
static EvilNumber log10(const EvilNumber &val)
#define sLog
Evaluates to a NewLog instance.
const EvilNumber EvilTime_Hour
EvilNumber _SelfAdd(const EvilNumber &val)
EvilNumber operator+(const EvilNumber &val, const EvilNumber &val2)
EvilNumber _Subtract(const EvilNumber &val1, const EvilNumber &val2)
subtract this with
EvilNumber operator/(const EvilNumber &val, const EvilNumber &val2)
EvilNumber operator-(const EvilNumber &val, const EvilNumber &val2)
static EvilNumber cos(const EvilNumber &val)
EvilNumber operator%(const EvilNumber &val, const EvilNumber &val2)
static EvilNumber sqrt(const EvilNumber &val)
static EvilNumber asin(const EvilNumber &val)
EvilNumber _SelfSubtract(const EvilNumber &val)
static EvilNumber log(const EvilNumber &val)
EvilNumber _SelfIncrement()
increment by 1
const EvilNumber EvilTime_Second
static EvilNumber atan(const EvilNumber &val)
EvilNumber _SelfModulus(const EvilNumber &val)
EvilNumber _Add(const EvilNumber &val1, const EvilNumber &val2)
add this with
void CheckIntegrity()
check if its possible a integer and do the conversion
EvilNumber operator*(const EvilNumber &val, const EvilNumber &val2)
const EvilNumber EvilTime_Day
static EvilNumber sin(const EvilNumber &val)
??
EvilNumber _SelfDivide(const EvilNumber &val)
static EvilNumber acos(const EvilNumber &val)
static EvilNumber tan(const EvilNumber &val)
static EvilNumber pow(const EvilNumber &val1, const EvilNumber &val2)
const EvilNumber EvilTime_Year
EvilNumber _Modulus(const EvilNumber &val1, const EvilNumber &val2)
modulus this with
EvilNumber _SelfDecrement()
decrement by 1