30 #ifndef AMATH_NUMBER_H 31 #define AMATH_NUMBER_H 34 #pragma GCC diagnostic ignored "-Wshadow" 69 explicit Number(NumberSystem system) :
86 virtual bool IsNaN() = 0;
166 friend struct IntegerNumber;
virtual bool IsNegative()=0
virtual int GetPrecedence()=0
virtual int GetIntegerValue()=0
virtual Number * ArcTangent()=0
virtual Number * ArcCotangent()=0
virtual Number * Cotangent()=0
virtual Number * Absolute()=0
virtual Number * Round()=0
virtual Number * Factorial()=0
virtual Number * Mul(Number *other)=0
Number(NumberSystem system)
virtual bool IsInfinite()=0
virtual Number * ArcExCosecant()=0
virtual Number * VerSine()=0
virtual Number * HypArcTangent()=0
virtual Number * ExCosecant()=0
virtual Number * Secant()=0
virtual Number * ArcCosine()=0
virtual Number * ArcHaVerSine()=0
virtual Number * CoVerCosine()=0
virtual Number * Raise(Number *exponent)=0
virtual Number * HypTangent()=0
int32_t GetExponent() const
virtual Number * ArcSecant()=0
virtual Number * HypArcSine()=0
virtual Number * Clone()=0
virtual Number * Unary()=0
bool IsMaxNegative() const
virtual Number * HypArcCotangent()=0
virtual Number * HypCotangent()=0
virtual Number * ArcExSecant()=0
virtual bool IsNotImplemented()=0
virtual Number * Floor()=0
virtual Number * CubeRoot()=0
virtual Number * Sine()=0
virtual Number * ArcHaCoVerCosine()=0
uint64_t GetMantissa() const
virtual Number * ExSecant()=0
virtual Number * ArcHaVerCosine()=0
virtual Number * VerCosine()=0
Base class for all numeral systems with a positional notation.
Represent a real number with 15 significant digits.
virtual Number * Tangent()=0
virtual double GetRealValue()=0
virtual Number * CoVerSine()=0
virtual Number * Log2()=0
virtual Number * ArcVerSine()=0
virtual Number * ArcSine()=0
virtual Number * HypArcCosine()=0
virtual Number * SquareRoot()=0
virtual Number * HypCosine()=0
virtual Number * ArcChord()=0
virtual Number * HypArcSecant()=0
Represent a complex number with 2 components of 15 significant digits.
virtual Number * ArcCoVerCosine()=0
virtual Number * HaVerSine()=0
virtual Number * Cosecant()=0
virtual Number * Sub(Number *other)=0
virtual Number * HypArcCosecant()=0
bool IsMaxPositive() const
virtual Number * Signum()=0
virtual Number * ArcCosecant()=0
virtual Number * Cosine()=0
virtual Number * Add(Number *other)=0
virtual Number * HaVerCosine()=0
virtual Number * Reciprocal()=0
virtual Number * Div(Number *other)=0
virtual int GetDefaultPrecedence()=0
virtual Number * ArcCoVerSine()=0
virtual Number * Trunc()=0
virtual Number * HypSecant()=0
virtual Number * HypCosecant()=0
virtual Number * Chord()=0
virtual bool PureComplexValue()=0
virtual Number * HaCoVerCosine()=0
virtual Number * Log10()=0
virtual Number * ArcHaCoVerSine()=0
virtual Number * HaCoVerSine()=0
virtual Number * ArcVerCosine()=0
virtual Number * Ceiling()=0
virtual Number * HypSine()=0