Loading...
Searching...
No Matches
SymEngine::FiniteVisitor Class Reference
+ Inheritance diagram for SymEngine::FiniteVisitor:
+ Collaboration diagram for SymEngine::FiniteVisitor:

Public Member Functions

 FiniteVisitor (const Assumptions *assumptions)
 
void bvisit (const Basic &x)
 
void bvisit (const Symbol &x)
 
void bvisit (const Infty &x)
 
void bvisit (const NaN &x)
 
void bvisit (const Number &x)
 
void bvisit (const Set &x)
 
void bvisit (const Relational &x)
 
void bvisit (const Boolean &x)
 
void bvisit (const Constant &x)
 
tribool apply (const Basic &b)
 

Private Member Functions

void error ()
 

Private Attributes

tribool is_finite_
 
const Assumptionsassumptions_
 

Detailed Description

Definition at line 409 of file test_visitors.h.

Constructor & Destructor Documentation

◆ FiniteVisitor()

SymEngine::FiniteVisitor::FiniteVisitor ( const Assumptions assumptions)
inline

Definition at line 418 of file test_visitors.h.

418: assumptions_(assumptions){};

Member Function Documentation

◆ apply()

tribool SymEngine::FiniteVisitor::apply ( const Basic b)

Definition at line 925 of file test_visitors.cpp.

926{
927 b.accept(*this);
928 return is_finite_;
929}

◆ bvisit() [1/9]

void SymEngine::FiniteVisitor::bvisit ( const Basic x)

Definition at line 876 of file test_visitors.cpp.

877{
878 is_finite_ = tribool::indeterminate;
879}

◆ bvisit() [2/9]

void SymEngine::FiniteVisitor::bvisit ( const Boolean x)

Definition at line 915 of file test_visitors.cpp.

916{
917 error();
918}

◆ bvisit() [3/9]

void SymEngine::FiniteVisitor::bvisit ( const Constant x)

Definition at line 920 of file test_visitors.cpp.

921{
922 is_finite_ = tribool::tritrue;
923}

◆ bvisit() [4/9]

void SymEngine::FiniteVisitor::bvisit ( const Infty x)

Definition at line 895 of file test_visitors.cpp.

896{
897 is_finite_ = tribool::trifalse;
898}

◆ bvisit() [5/9]

void SymEngine::FiniteVisitor::bvisit ( const NaN x)

Definition at line 900 of file test_visitors.cpp.

901{
902 error();
903}

◆ bvisit() [6/9]

void SymEngine::FiniteVisitor::bvisit ( const Number x)

Definition at line 890 of file test_visitors.cpp.

891{
892 is_finite_ = tribool::tritrue;
893}

◆ bvisit() [7/9]

void SymEngine::FiniteVisitor::bvisit ( const Relational x)

Definition at line 910 of file test_visitors.cpp.

911{
912 error();
913}

◆ bvisit() [8/9]

void SymEngine::FiniteVisitor::bvisit ( const Set x)

Definition at line 905 of file test_visitors.cpp.

906{
907 error();
908}

◆ bvisit() [9/9]

void SymEngine::FiniteVisitor::bvisit ( const Symbol x)

Definition at line 881 of file test_visitors.cpp.

882{
883 if (assumptions_) {
884 is_finite_ = assumptions_->is_complex(x.rcp_from_this());
885 } else {
886 is_finite_ = tribool::indeterminate;
887 }
888}

◆ error()

void SymEngine::FiniteVisitor::error ( )
private

Definition at line 870 of file test_visitors.cpp.

871{
872 throw SymEngineException(
873 "Only numeric types allowed for is_finite/is_infinite");
874}

Field Documentation

◆ assumptions_

const Assumptions* SymEngine::FiniteVisitor::assumptions_
private

Definition at line 413 of file test_visitors.h.

◆ is_finite_

tribool SymEngine::FiniteVisitor::is_finite_
private

Definition at line 412 of file test_visitors.h.


The documentation for this class was generated from the following files: