49 if ((round && ((x > 0 && x < 1e-15) || (x < 0 && x > -1e-15))))
53 else if (round && x > 1e+16)
59 else if (round && x < -1e+16)
92 return static_cast<
int>(
x);
112 return (
x < 0.0) ? -1 : 0;
153 if ((
x > 0 &&
x <= 1e-308) || (
x < 0 &&
x >= -1e-308))
380 static const double log2value = 0.69314718055994530942;
double log(double x)
Natural logarithm function (base e)
Number * ArcChord()
Inverse trigonometric chord function for real numbers.
double sqrt(double x)
Square root function.
double sech(double x)
Hyperbolic secant function.
double cbrt(double x)
Cube root function.
Number * Trunc()
Mathematical trunc function for real numbers.
Number * Log2()
Binary logarithm function (base 2) for real numbers.
double cos(double x)
Cosine function.
Number * HypArcTangent()
Inverse hyperbolic tangent function for real numbers.
Number * ArcHaVerCosine()
Inverse haversed cosine function for real numbers.
Number * ArcExCosecant()
Inverse trigonometric excosecant function for real numbers.
Number * ArcHaCoVerCosine()
Inverse hacoversed cosine function for real numbers.
double asin(double x)
Inverse sine function.
double hcc(double x)
Hacoversed cosine function.
Number * HypSine()
Hyperbolic sine function for real numbers.
double tan(double x)
Tangent function.
Represent a number which does not exists.
Number * Raise(Number *exponent)
Exponentiation function for real numbers.
Number * Tangent()
Trigonometric tangent function for real numbers.
Number * Log()
Natural logarithm function (base e) for real numbers.
double ahcc(double x)
Inverse hacoversed cosine.
virtual Number * Mul(Number *other)=0
Number(NumberSystem system)
double cvs(double x)
Coversed sine function.
double acvs(double x)
Inverse coversed sine function.
double trunc(double x)
Truncate function.
Number * HaCoVerCosine()
Hacoversed cosine function for real numbers.
double log10(double x)
Base 10 logarithm function.
Number * Round()
Mathematical round function for real numbers.
double acot(double x)
Inverse cotangent function.
double pow(double x, double y)
Expontation function.
Number * SquareRoot()
Square root function for real numbers.
double ceil(double x)
Ceiling function.
Number * ArcHaCoVerSine()
Inverse hacoversed sine function for real numbers.
Number * ArcCosecant()
Inverse trigonometric cosecant function for real numbers.
NonNumber(NonNumberType type)
Number * ArcTangent()
Inverse trigonometric tangent function for real numbers.
double exc(double x)
Excosecant function.
bool IsInfinite()
Returns true if number is infinite.
Number * ArcSine()
Inverse trigonometric sine function for real numbers.
double ver(double x)
Versed sine function.
Number * Log10()
Base 10 logarithm function for real numbers.
double floor(double x)
Floor function.
double hv(double x)
Haversed sine function.
Number * HypArcSine()
Inverse hyperbolic sine function for real numbers.
Number * HypCotangent()
Hyperbolic cotangent function for real numbers.
Number * Factorial()
Factorial function for real numbers.
double tanh(double x)
Hyperbolic tangent function.
Number * VerSine()
Versed sine function for real numbers.
double round(double x)
Round function.
double crd(double x)
Chord function.
double acsch(double x)
Inverse hyperbolic cosecant function.
double cot(double x)
Cotangent function.
virtual Number * Unary()=0
bool IsMaxNegative() const
RealNumber(unsigned int i)
double sinh(double x)
Hyperbolic sine function.
double asech(double x)
Inverse hyperbolic secant function.
Number * ArcExSecant()
Inverse trigonometric exsecant function for real numbers.
double csch(double x)
Hyperbolic cosecant function.
virtual Number * CubeRoot()=0
double sec(double x)
Secant function.
double ahvc(double x)
Inverse haversed cosine.
Number * Secant()
Trigonometric secant function for real numbers.
double atanh(double x)
Inverse hyperbolic tangent function.
double coth(double x)
Hyperbolic cotangent function.
Number * ArcVerCosine()
Inverse versed cosine function for real numbers.
Number * ExCosecant()
Trigonometric excosecant function for real numbers.
Number * CoVerSine()
Coversed sine function for real numbers.
Number * ArcSecant()
Inverse trigonometric secant function for real numbers.
double acsc(double x)
Inverse cosecant function.
Number * CoVerCosine()
Coversed cosine function for real numbers.
Number * HaVerCosine()
Haversed cosine function for real numbers.
Number * HypTangent()
Hyperbolic tangent function for real numbers.
Number * Add(Number *other)
Addition of two real numbers.
Represent a real number with 15 significant digits.
Number * ArcHaVerSine()
Inverse haversed sine function for real numbers.
virtual Number * Log2()=0
double asec(double x)
Inverse secant function.
Number * Absolute()
Absolute value of number for real numbers.
Number * HypArcCosecant()
Inverse hyperbolic cosecant function for real numbers.
Number * Cotangent()
Trigonometric cotangent function for real numbers.
double acrd(double x)
Inverse chord function.
Number * ArcCosine()
Inverse trigonometric cosine function for real numbers.
double fabs(double x)
Returns the absolute value of x.
bool IsNotImplemented()
Always returns false for real numbers.
Number * VerCosine()
Versed cosine function for real numbers.
virtual Number * SquareRoot()=0
double aexc(double x)
Inverse excosecant function.
Number * Cosine()
Trigonometric cosine function for real numbers.
double acoth(double x)
Inverse hyperbolic cotangent function.
double acvc(double x)
Inverse versed cosine.
Number * Mul(Number *other)
Multiplication of two real numbers.
double atan(double x)
Inverse tangent function.
Number * ArcVerSine()
Inverse versed sine function for real numbers.
Number * Div(Number *other)
Division of two real numbers.
Represent a complex number with 2 components of 15 significant digits.
Number * Cosecant()
Trigonometric cosecant function for real numbers.
double aexs(double x)
Inverse exsecant function.
double aver(double x)
Inverse versed sine function.
bool IsMaxPositive() const
Number * HypSecant()
Hyperbolic secant function for real numbers.
bool IsZero()
Returns true if number is zero.
Number * Signum()
Mathematical sign function for real numbers.
Number * HypArcCotangent()
Inverse hyperbolic cotangent function for real numbers.
Number * CubeRoot()
Cube root function for real numbers.
double cosh(double x)
Hyperbolic cosine function.
virtual Number * Add(Number *other)=0
bool IsNaN()
Returns true if number is NaN.
virtual Number * Reciprocal()=0
double sin(double x)
Sine function.
double hvc(double x)
Haversed cosine function.
double vcs(double x)
Versed cosine function.
ComplexNumber(double real, double imag)
double hcv(double x)
Hacoversed sine function.
RealNumber(double x, bool round)
double avcs(double x)
Inverse versed sine.
double acosh(double x)
Inverse hyperbolic cosine function.
Number * ArcCotangent()
Inverse trigonometric cotangent function for real numbers.
void SetRealValue(double value)
Number * ExSecant()
Trigonometric exsecant function for real numbers.
double acos(double x)
Inverse cosine function.
int GetDefaultPrecedence()
Number * Reciprocal()
Reciprocal function for real numbers.
Number * ArcCoVerSine()
Inverse coversed sine function for real numbers.
Number * HaVerSine()
Haversed sine function for real numbers.
Number * Ceiling()
Mathematical ceiling function for real numbers.
double cvc(double x)
Coversed cosine function.
Number * ArcCoVerCosine()
Inverse coversed cosine function for real numbers.
Number * HypArcCosine()
Inverse hyperbolic cosine function for real numbers.
Number * HypArcSecant()
Inverse hyperbolic secant function for real numbers.
virtual Number * Log10()=0
double csc(double x)
Cosecant function.
double asinh(double x)
Inverse hyperbolic sine function.
Number * HaCoVerSine()
Hacoversed sine function for real numbers.
Number * Sine()
Trigonometric sine function for real numbers.
double ahv(double x)
Inverse haversed sine.
double exs(double x)
Exsecant function.
Number * Floor()
Mathematical floor function for real numbers.
double ahcv(double x)
Inverse hacoversed sine.
Number * Chord()
Trigonometric chord function for real numbers.
Number * HypCosine()
Hyperbolic cosine function for real numbers.
Number * Sub(Number *other)
Subtraction of two real numbers.
Number * Raise(Number *exponent)
Number * Unary()
Change sign of real number.
Number * HypCosecant()
Hyperbolic cosecant function for real numbers.