|
|
| SOQ () |
| | Ctor.
|
| |
| | SOQ (const mpq_t p_q) |
| | Ctor from a mpq_t.
|
| |
| | SOQ (const __int128 p_num, const __int128 p_den) |
| | Ctor from a numerator and a denominator.
|
| |
|
| ~SOQ () override |
| | Dtor.
|
| |
|
| SOQ (const SOQ &)=delete |
| |
|
| SOQ (SOQ &&)=delete |
| |
|
SOQ & | operator= (const SOQ &)=delete |
| |
|
SOQ & | operator= (SOQ &&)=delete |
| |
| SOQ * | dup () const override |
| | Creates a new instance as copy following the red book definition.
|
| |
| std::string | opequal () const override |
| | String representation of object for operators '=', 'cvs' and 'stack'.
|
| |
| OTCode | ot () const override |
| | Returns an OTCode.
|
| |
| std::string | type () const override |
| | Returns a type name.
|
| |
| bool | equal (const SO *p_other) const override |
| | Checks if this SO is equal to another SO.
|
| |
| bool | gt (OpError &p_ec, const SO *p_other) const override |
| | Greater than.
|
| |
| bool | ge (OpError &p_ec, const SO *p_other) const override |
| | Greater or equal.
|
| |
| void | getRational (mpq_t p_q) const |
| | Getter for q_.
|
| |
| void | setRational (const mpq_t p_q) |
| | Setter for the rational number.
|
| |
| void | getNumerator (mpz_t p_z) const |
| | Getter for the numerator of q_.
|
| |
|
void | setNumerator (mpz_t p_z) |
| | Setter for the numerator of q_.
|
| |
| bool | getComponents (__int128 &p_num, __int128 &p_den) const |
| | Getter for numerator and denominator.
|
| |
| bool | isunitfraction () const |
| | Checks numerator == 1.
|
| |
| bool | iszero () const |
| | Checks numerator == 0.
|
| |
| bool | isinteger () const |
| | Checks denominator == 1.
|
| |
| void | divqr (mpq_t p_q, mpq_t p_r) const |
| | Calculates quotient and remainder.
|
| |
| bool | parse (const std::string &p_str) |
| | Parses a string representation of a rational number.
|
| |
|
void | abs () |
| | In place abs.
|
| |
|
void | neg () |
| | In place neg.
|
| |
| void | reciprocal (OpError &p_ec) |
| | In place reciprocal.
|
| |
| __float128 | float128 () const |
| | Converts the rational number to a real number.
|
| |
|
| SO () |
| | Ctor.
|
| |
| | SO (bool p_exec) |
| | Ctor.
|
| |
|
| SO (const SO &p_other) |
| | Copy ctor.
|
| |
| virtual | ~SO () |
| | Virtual dtor.
|
| |
|
| SO (SO &&)=delete |
| |
|
SO & | operator= (const SO &)=delete |
| |
|
SO & | operator= (SO &&)=delete |
| |
|
bool | getExec () const |
| | Getter for exec_.
|
| |
|
void | setExec (bool p_exec) |
| | Setter for exec_.
|
| |
| virtual size_t | getSize () const |
| | Returns the size of the SO.
|
| |
| virtual SO * | clone () const |
| | Creates a new instance as copy with deep cloning.
|
| |
| virtual std::string | opequalequal () const |
| | String representation for operators '==' and 'pstack'.
|
| |
|
| Counter (Counter< SO > &&)=delete |
| |
|
Counter< SO > & | operator= (const Counter< SO > &)=delete |
| |
|
Counter< SO > & | operator= (Counter< SO > &&)=delete |
| |
Semantic Object Rational Number.
A multiple precicion rational number.
- Invariant
- denominator > 0
-
gcd of numerator and denominator == 1
| bool SOQ::equal |
( |
const SO * |
p_other | ) |
const |
|
inlineoverridevirtual |
Checks if this SO is equal to another SO.
Equality means:
SOL und SOM are always equal.
For SOD, SOF and SOK, share_ptr<> points to the same object.
For SOA, share_ptr<> points to the same object, but empty arrays are equal nonetheless.
For SOO and SOo the function pointer must be the same.
Otherwise the value must be the same, even for SOS with shared_ptr<>.
- Returns
- bool ... true if the SO's are of the same type and equal
- See also
- Will be used directly and unchanged as operator eq
- Parameters
-
| [in] | p_other | The object to compare with. |
Implements SO.