SMTStabilizer API
Public API documentation for SMTStabilizer
Loading...
Searching...
No Matches
stabilizer::parser::Sort Class Reference

#include <sort.h>

Public Member Functions

 Sort (SORT_KIND kind, std::string name, size_t arity, std::vector< std::shared_ptr< Sort > > children)
 
 Sort (SORT_KIND kind, std::string name, size_t arity)
 
 Sort (SORT_KIND kind, std::string name)
 
 Sort (SORT_KIND kind)
 
 Sort (std::string name)
 
 Sort ()
 
 Sort (const Sort &other)
 
bool isNull () const
 
bool isUnknown () const
 
bool isBool () const
 
bool isIntOrReal () const
 
bool isInt () const
 
bool isReal () const
 
bool isAlgebraic () const
 
bool isTranscendental () const
 
bool isBv () const
 
bool isFp () const
 
bool isStr () const
 
bool isReg () const
 
bool isExt () const
 
bool isArray () const
 
bool isDatatype () const
 
bool isSet () const
 
bool isRelation () const
 
bool isBag () const
 
bool isSeq () const
 
bool isTuple () const
 
bool isUF () const
 
bool isNat () const
 
bool isRand () const
 
bool isDec () const
 
bool isDef () const
 
bool isRoundingMode () const
 
void setName (const std::string &n)
 
bool operator== (const Sort &other) const
 
bool operator!= (const Sort &other) const
 
std::string toString () const
 
size_t getBitWidth () const
 
size_t getExponentWidth () const
 
size_t getSignificandWidth () const
 
std::shared_ptr< SortgetIndexSort () const
 
std::shared_ptr< SortgetElemSort () const
 
std::shared_ptr< SortgetParamSort (size_t index) const
 
std::vector< std::shared_ptr< Sort > > getParams () const
 
std::shared_ptr< SortgetOutSort () const
 
bool isEqTo (const Sort &other) const
 
bool isEqTo (const std::shared_ptr< Sort > &other) const
 
size_t hash () const
 
size_t hash_without_name () const
 

Public Attributes

SORT_KIND kind
 
std::string name
 
size_t arity
 
std::vector< std::shared_ptr< Sort > > children
 

Detailed Description

Definition at line 74 of file sort.h.

Constructor & Destructor Documentation

◆ Sort() [1/7]

stabilizer::parser::Sort::Sort ( SORT_KIND  kind,
std::string  name,
size_t  arity,
std::vector< std::shared_ptr< Sort > >  children 
)
inline

Definition at line 80 of file sort.h.

◆ Sort() [2/7]

stabilizer::parser::Sort::Sort ( SORT_KIND  kind,
std::string  name,
size_t  arity 
)
inline

Definition at line 82 of file sort.h.

◆ Sort() [3/7]

stabilizer::parser::Sort::Sort ( SORT_KIND  kind,
std::string  name 
)
inline

Definition at line 84 of file sort.h.

◆ Sort() [4/7]

stabilizer::parser::Sort::Sort ( SORT_KIND  kind)
inline

Definition at line 85 of file sort.h.

◆ Sort() [5/7]

stabilizer::parser::Sort::Sort ( std::string  name)
inline

Definition at line 86 of file sort.h.

◆ Sort() [6/7]

stabilizer::parser::Sort::Sort ( )
inline

Definition at line 87 of file sort.h.

◆ Sort() [7/7]

stabilizer::parser::Sort::Sort ( const Sort other)
inline

Definition at line 88 of file sort.h.

Member Function Documentation

◆ getBitWidth()

size_t stabilizer::parser::Sort::getBitWidth ( ) const
inline

Definition at line 219 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_BV.

◆ getElemSort()

std::shared_ptr< Sort > stabilizer::parser::Sort::getElemSort ( ) const
inline

Definition at line 243 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_ARRAY.

◆ getExponentWidth()

size_t stabilizer::parser::Sort::getExponentWidth ( ) const
inline

Definition at line 225 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_FP.

Referenced by operator==().

◆ getIndexSort()

std::shared_ptr< Sort > stabilizer::parser::Sort::getIndexSort ( ) const
inline

Definition at line 237 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_ARRAY.

◆ getOutSort()

std::shared_ptr< Sort > stabilizer::parser::Sort::getOutSort ( ) const
inline

Definition at line 262 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_DEF.

◆ getParams()

std::vector< std::shared_ptr< Sort > > stabilizer::parser::Sort::getParams ( ) const
inline

Definition at line 255 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_DEF.

◆ getParamSort()

std::shared_ptr< Sort > stabilizer::parser::Sort::getParamSort ( size_t  index) const
inline

Definition at line 249 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_DEF.

◆ getSignificandWidth()

size_t stabilizer::parser::Sort::getSignificandWidth ( ) const
inline

Definition at line 231 of file sort.h.

References children, condAssert, kind, and stabilizer::parser::SK_FP.

Referenced by operator==().

◆ hash()

size_t stabilizer::parser::Sort::hash ( ) const
inline

Definition at line 275 of file sort.h.

References arity, children, hash(), kind, and name.

Referenced by hash(), hash_without_name(), isEqTo(), isEqTo(), operator!=(), operator==(), setName(), and toString().

◆ hash_without_name()

size_t stabilizer::parser::Sort::hash_without_name ( ) const
inline

Definition at line 292 of file sort.h.

References arity, children, hash(), isDec(), isDef(), kind, and name.

◆ isAlgebraic()

bool stabilizer::parser::Sort::isAlgebraic ( ) const
inline

Definition at line 99 of file sort.h.

References kind, and stabilizer::parser::SK_ALGEBRAIC.

◆ isArray()

bool stabilizer::parser::Sort::isArray ( ) const
inline

Definition at line 106 of file sort.h.

References kind, and stabilizer::parser::SK_ARRAY.

◆ isBag()

bool stabilizer::parser::Sort::isBag ( ) const
inline

Definition at line 110 of file sort.h.

References kind, and stabilizer::parser::SK_BAG.

◆ isBool()

bool stabilizer::parser::Sort::isBool ( ) const
inline

Definition at line 94 of file sort.h.

References kind, and stabilizer::parser::SK_BOOL.

◆ isBv()

bool stabilizer::parser::Sort::isBv ( ) const
inline

Definition at line 101 of file sort.h.

References kind, and stabilizer::parser::SK_BV.

◆ isDatatype()

bool stabilizer::parser::Sort::isDatatype ( ) const
inline

Definition at line 107 of file sort.h.

References kind, and stabilizer::parser::SK_DATATYPE.

◆ isDec()

bool stabilizer::parser::Sort::isDec ( ) const
inline

Definition at line 116 of file sort.h.

References kind, and stabilizer::parser::SK_DEC.

Referenced by hash_without_name(), and operator==().

◆ isDef()

bool stabilizer::parser::Sort::isDef ( ) const
inline

Definition at line 117 of file sort.h.

References kind, and stabilizer::parser::SK_DEF.

Referenced by hash_without_name(), and operator==().

◆ isEqTo() [1/2]

bool stabilizer::parser::Sort::isEqTo ( const Sort other) const
inline

Definition at line 268 of file sort.h.

References hash().

◆ isEqTo() [2/2]

bool stabilizer::parser::Sort::isEqTo ( const std::shared_ptr< Sort > &  other) const
inline

Definition at line 270 of file sort.h.

References hash().

◆ isExt()

bool stabilizer::parser::Sort::isExt ( ) const
inline

Definition at line 105 of file sort.h.

References kind, and stabilizer::parser::SK_EXT.

◆ isFp()

bool stabilizer::parser::Sort::isFp ( ) const
inline

Definition at line 102 of file sort.h.

References kind, and stabilizer::parser::SK_FP.

Referenced by operator==().

◆ isInt()

bool stabilizer::parser::Sort::isInt ( ) const
inline

Definition at line 97 of file sort.h.

References kind, and stabilizer::parser::SK_INT.

Referenced by operator==().

◆ isIntOrReal()

bool stabilizer::parser::Sort::isIntOrReal ( ) const
inline

Definition at line 96 of file sort.h.

References kind, and stabilizer::parser::SK_INTOREAL.

Referenced by operator==().

◆ isNat()

bool stabilizer::parser::Sort::isNat ( ) const
inline

Definition at line 114 of file sort.h.

References kind, and stabilizer::parser::SK_NAT.

◆ isNull()

bool stabilizer::parser::Sort::isNull ( ) const
inline

Definition at line 92 of file sort.h.

References kind, and stabilizer::parser::SK_NULL.

◆ isRand()

bool stabilizer::parser::Sort::isRand ( ) const
inline

Definition at line 115 of file sort.h.

References kind, and stabilizer::parser::SK_RAND.

◆ isReal()

bool stabilizer::parser::Sort::isReal ( ) const
inline

Definition at line 98 of file sort.h.

References kind, and stabilizer::parser::SK_REAL.

Referenced by operator==().

◆ isReg()

bool stabilizer::parser::Sort::isReg ( ) const
inline

Definition at line 104 of file sort.h.

References kind, and stabilizer::parser::SK_REG.

◆ isRelation()

bool stabilizer::parser::Sort::isRelation ( ) const
inline

Definition at line 109 of file sort.h.

References kind, and stabilizer::parser::SK_RELATION.

◆ isRoundingMode()

bool stabilizer::parser::Sort::isRoundingMode ( ) const
inline

Definition at line 118 of file sort.h.

References kind, and stabilizer::parser::SK_ROUNDING_MODE.

◆ isSeq()

bool stabilizer::parser::Sort::isSeq ( ) const
inline

Definition at line 111 of file sort.h.

References kind, and stabilizer::parser::SK_SEQ.

◆ isSet()

bool stabilizer::parser::Sort::isSet ( ) const
inline

Definition at line 108 of file sort.h.

References kind, and stabilizer::parser::SK_SET.

◆ isStr()

bool stabilizer::parser::Sort::isStr ( ) const
inline

Definition at line 103 of file sort.h.

References kind, and stabilizer::parser::SK_STR.

◆ isTranscendental()

bool stabilizer::parser::Sort::isTranscendental ( ) const
inline

Definition at line 100 of file sort.h.

References kind, and stabilizer::parser::SK_TRANSCENDENTAL.

◆ isTuple()

bool stabilizer::parser::Sort::isTuple ( ) const
inline

Definition at line 112 of file sort.h.

References kind, and stabilizer::parser::SK_TUPLE.

◆ isUF()

bool stabilizer::parser::Sort::isUF ( ) const
inline

Definition at line 113 of file sort.h.

References kind, and stabilizer::parser::SK_UF.

◆ isUnknown()

bool stabilizer::parser::Sort::isUnknown ( ) const
inline

Definition at line 93 of file sort.h.

References kind, and stabilizer::parser::SK_UNKNOWN.

◆ operator!=()

bool stabilizer::parser::Sort::operator!= ( const Sort other) const
inline

Definition at line 151 of file sort.h.

References hash().

◆ operator==()

◆ setName()

void stabilizer::parser::Sort::setName ( const std::string &  n)
inline

Definition at line 120 of file sort.h.

References hash(), and name.

◆ toString()

Member Data Documentation

◆ arity

size_t stabilizer::parser::Sort::arity

Definition at line 78 of file sort.h.

Referenced by hash(), hash_without_name(), operator==(), and toString().

◆ children

std::vector<std::shared_ptr<Sort> > stabilizer::parser::Sort::children

◆ kind

◆ name

std::string stabilizer::parser::Sort::name

Definition at line 77 of file sort.h.

Referenced by hash(), hash_without_name(), operator==(), setName(), and toString().


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