#include <infinity.h>
Public Member Functions | |
void | accept (Visitor &v) const override |
void | accept (EvalRealDoubleVisitorFinal &v) const override |
Infty (const RCP< const Number > &direction) | |
Constructs Infty using the sign of _direction | |
Infty (const Infty &inf) | |
Copy Constructor. | |
bool | is_canonical (const RCP< const Number > &num) const |
Canonical when the direction is -1, 0 or 1. | |
hash_t | __hash__ () const override |
bool | __eq__ (const Basic &o) const override |
int | compare (const Basic &o) const override |
vec_basic | get_args () const override |
Returns the list of arguments. | |
bool | is_zero () const override |
bool | is_one () const override |
bool | is_minus_one () const override |
bool | is_exact () const override |
Evaluate & | get_eval () const override |
Get Evaluate singleton to evaluate numerically. | |
RCP< const Number > | get_direction () const |
bool | is_unsigned_infinity () const |
bool | is_positive_infinity () const |
bool | is_negative_infinity () const |
bool | is_positive () const override |
bool | is_negative () const override |
bool | is_complex () const override |
RCP< const Basic > | conjugate () const override |
RCP< const Number > | add (const Number &other) const override |
Addition. | |
RCP< const Number > | mul (const Number &other) const override |
Multiplication. | |
RCP< const Number > | div (const Number &other) const override |
Division. | |
RCP< const Number > | pow (const Number &other) const override |
Power. | |
RCP< const Number > | rpow (const Number &other) const override |
![]() | |
virtual bool | is_zero () const =0 |
virtual bool | is_one () const =0 |
virtual bool | is_minus_one () const =0 |
virtual bool | is_negative () const =0 |
virtual bool | is_positive () const =0 |
virtual bool | is_complex () const =0 |
virtual RCP< const Basic > | conjugate () const |
virtual bool | is_exact () const |
return true if the number is an exact representation | |
bool | is_exact_zero () const |
virtual Evaluate & | get_eval () const |
Get Evaluate singleton to evaluate numerically. | |
virtual RCP< const Number > | add (const Number &other) const =0 |
Addition. | |
virtual RCP< const Number > | sub (const Number &other) const |
Subtraction. | |
virtual RCP< const Number > | rsub (const Number &other) const |
virtual RCP< const Number > | mul (const Number &other) const =0 |
Multiplication. | |
virtual RCP< const Number > | div (const Number &other) const |
Division. | |
virtual RCP< const Number > | rdiv (const Number &other) const |
virtual RCP< const Number > | pow (const Number &other) const =0 |
Power. | |
virtual RCP< const Number > | rpow (const Number &other) const =0 |
vec_basic | get_args () const override |
Returns the list of arguments. | |
virtual bool | is_perfect_power (bool is_expected=false) const |
virtual bool | nth_root (const Ptr< RCP< const Number > > &, unsigned long n) const |
![]() | |
TypeID | get_type_code () const |
Basic () | |
Constructor. | |
Basic (const Basic &)=delete | |
Delete the copy constructor and assignment. | |
Basic & | operator= (const Basic &)=delete |
Assignment operator in continuation with above. | |
Basic (Basic &&)=delete | |
Delete the move constructor and assignment. | |
Basic & | operator= (Basic &&)=delete |
Assignment operator in continuation with above. | |
virtual hash_t | __hash__ () const =0 |
hash_t | hash () const |
virtual bool | __eq__ (const Basic &o) const =0 |
Test equality. | |
bool | __neq__ (const Basic &o) const |
true if this is not equal to o . | |
int | __cmp__ (const Basic &o) const |
Comparison operator. | |
virtual int | compare (const Basic &o) const =0 |
std::string | __str__ () const |
std::string | dumps () const |
Returns a string of the instance serialized. | |
RCP< const Basic > | subs (const map_basic_basic &subs_dict) const |
Substitutes 'subs_dict' into 'self'. | |
RCP< const Basic > | xreplace (const map_basic_basic &subs_dict) const |
virtual RCP< const Basic > | expand_as_exp () const |
expands the special function in terms of exp function | |
virtual vec_basic | get_args () const =0 |
Returns the list of arguments. | |
virtual void | accept (Visitor &v) const =0 |
virtual void | accept (EvalRealDoubleVisitorFinal &v) const =0 |
RCP< const Basic > | diff (const RCP< const Symbol > &x, bool cache=true) const |
![]() | |
RCP< Basic > | rcp_from_this () |
Get RCP<T> pointer to self (it will cast the pointer to T) | |
RCP< const Basic > | rcp_from_this () const |
Get RCP<const T> pointer to self (it will cast the pointer to const T) | |
RCP< const T2 > | rcp_from_this_cast () const |
Get RCP<T2> pointer to self (it will cast the pointer to T2) | |
unsigned int | use_count () const |
Static Public Member Functions | |
static RCP< const Infty > | from_direction (const RCP< const Number > &direction) |
static RCP< const Infty > | from_int (const int val) |
Constructs Infty using sign of val | |
![]() | |
static RCP< const Basic > | loads (const std::string &) |
Creates an instance of a serialized string. | |
Static Public Attributes | |
static const TypeID | type_code_id = SYMENGINE_INFTY |
Private Attributes | |
RCP< const Number > | _direction |
Additional Inherited Members | |
![]() | |
TypeID | type_code_ |
This class holds "infinity" It includes a direction (like -infinity).
Definition at line 20 of file infinity.h.
SymEngine::Infty::Infty | ( | const RCP< const Number > & | direction | ) |
Constructs Infty using the sign of _direction
Definition at line 14 of file infinity.cpp.
SymEngine::Infty::Infty | ( | const Infty & | inf | ) |
Copy Constructor.
Definition at line 21 of file infinity.cpp.
|
overridevirtual |
Equality comparator
o | - Object to be compared with |
Implements SymEngine::Basic.
Definition at line 58 of file infinity.cpp.
|
overridevirtual |
Implements SymEngine::Basic.
Definition at line 51 of file infinity.cpp.
|
overridevirtual |
Implements SymEngine::Basic.
|
overridevirtual |
Implements SymEngine::Basic.
Addition.
Implements SymEngine::Number.
Definition at line 98 of file infinity.cpp.
|
overridevirtual |
Returns -1, 0, 1 for this < o, this == o, this > o
. This method is used when you want to sort things like x+y+z
into canonical order. This function assumes that o
is the same type as this
. Use __cmp__
if you want general comparison.
Implements SymEngine::Basic.
Definition at line 68 of file infinity.cpp.
|
overridevirtual |
Reimplemented from SymEngine::Number.
Definition at line 90 of file infinity.cpp.
Division.
Reimplemented from SymEngine::Number.
Definition at line 132 of file infinity.cpp.
Definition at line 28 of file infinity.cpp.
|
static |
Constructs Infty using sign of val
Definition at line 33 of file infinity.cpp.
|
inlineoverridevirtual |
Returns the list of arguments.
Implements SymEngine::Basic.
Definition at line 47 of file infinity.h.
|
inline |
Definition at line 76 of file infinity.h.
|
overridevirtual |
Get Evaluate
singleton to evaluate numerically.
Reimplemented from SymEngine::Number.
Definition at line 531 of file infinity.cpp.
bool SymEngine::Infty::is_canonical | ( | const RCP< const Number > & | num | ) | const |
Canonical when the direction is -1, 0 or 1.
Definition at line 40 of file infinity.cpp.
|
inlineoverridevirtual |
Implements SymEngine::Number.
Definition at line 95 of file infinity.h.
|
inlineoverridevirtual |
true
if this number is an exact number Reimplemented from SymEngine::Number.
Definition at line 69 of file infinity.h.
|
inlineoverridevirtual |
true
if -1
Implements SymEngine::Number.
Definition at line 63 of file infinity.h.
|
inlineoverridevirtual |
Implements SymEngine::Number.
Definition at line 90 of file infinity.h.
bool SymEngine::Infty::is_negative_infinity | ( | ) | const |
Definition at line 85 of file infinity.cpp.
|
inlineoverridevirtual |
true
if 1
Implements SymEngine::Number.
Definition at line 58 of file infinity.h.
|
inlineoverridevirtual |
Implements SymEngine::Number.
Definition at line 85 of file infinity.h.
bool SymEngine::Infty::is_positive_infinity | ( | ) | const |
Definition at line 80 of file infinity.cpp.
bool SymEngine::Infty::is_unsigned_infinity | ( | ) | const |
Definition at line 75 of file infinity.cpp.
|
inlineoverridevirtual |
true
if 0
Implements SymEngine::Number.
Definition at line 53 of file infinity.h.
Multiplication.
Implements SymEngine::Number.
Definition at line 113 of file infinity.cpp.
Power.
Implements SymEngine::Number.
Definition at line 146 of file infinity.cpp.
Implements SymEngine::Number.
Definition at line 190 of file infinity.cpp.
|
private |
Definition at line 22 of file infinity.h.
|
static |
Type_code_id shared by all instances
Definition at line 25 of file infinity.h.