Classes | Public Types | Public Member Functions

FPoptimizer_CodeTree::CodeTree Class Reference

List of all members.

Classes

struct  CloneTag
struct  VarTag

Public Types

enum  TriTruthValue { IsAlways, IsNever, Unknown }

Public Member Functions

 CodeTree (double v)
 CodeTree (unsigned varno, VarTag)
 CodeTree (const CodeTree &b, CloneTag)
void GenerateFrom (const std::vector< unsigned > &byteCode, const std::vector< double > &immed, const FunctionParser::Data &data, bool keep_powi=false)
void GenerateFrom (const std::vector< unsigned > &byteCode, const std::vector< double > &immed, const FunctionParser::Data &data, const std::vector< CodeTree > &var_trees, bool keep_powi=false)
void SynthesizeByteCode (std::vector< unsigned > &byteCode, std::vector< double > &immed, size_t &stacktop_max)
void SynthesizeByteCode (FPoptimizer_ByteCode::ByteCodeSynth &synth, bool MustPopTemps=true) const
size_t SynthCommonSubExpressions (FPoptimizer_ByteCode::ByteCodeSynth &synth) const
void SetParams (const std::vector< CodeTree > &RefParams)
void SetParamsMove (std::vector< CodeTree > &RefParams)
CodeTree GetUniqueRef ()
void SetParam (size_t which, const CodeTree &b)
void SetParamMove (size_t which, CodeTree &b)
void AddParam (const CodeTree &param)
void AddParamMove (CodeTree &param)
void AddParams (const std::vector< CodeTree > &RefParams)
void AddParamsMove (std::vector< CodeTree > &RefParams)
void AddParamsMove (std::vector< CodeTree > &RefParams, size_t replacing_slot)
void DelParam (size_t index)
void DelParams ()
void Become (const CodeTree &b)
size_t GetParamCount () const
CodeTreeGetParam (size_t n)
const CodeTreeGetParam (size_t n) const
void SetOpcode (FUNCTIONPARSERTYPES::OPCODE o)
void SetFuncOpcode (FUNCTIONPARSERTYPES::OPCODE o, unsigned f)
void SetVar (unsigned v)
void SetImmed (double v)
FUNCTIONPARSERTYPES::OPCODE GetOpcode () const
FUNCTIONPARSERTYPES::fphash_t GetHash () const
const std::vector< CodeTree > & GetParams () const
std::vector< CodeTree > & GetParams ()
size_t GetDepth () const
const double & GetImmed () const
unsigned GetVar () const
unsigned GetFuncNo () const
bool IsDefined () const
bool IsImmed () const
bool IsVar () const
bool IsLongIntegerImmed () const
long GetLongIntegerImmed () const
bool IsLogicalValue () const
unsigned GetRefCount () const
MinMaxTree CalculateResultBoundaries_do () const
MinMaxTree CalculateResultBoundaries () const
TriTruthValue GetEvennessInfo () const
bool IsAlwaysSigned (bool positive) const
bool IsAlwaysParity (bool odd) const
bool IsAlwaysInteger (bool integer) const
void ConstantFolding ()
bool ConstantFolding_AndLogic ()
bool ConstantFolding_OrLogic ()
bool ConstantFolding_MulLogicItems ()
bool ConstantFolding_AddLogicItems ()
bool ConstantFolding_IfOperations ()
bool ConstantFolding_PowOperations ()
bool ConstantFolding_ComparisonOperations ()
template<typename CondType >
bool ConstantFolding_LogicCommon (CondType cond_type, bool is_logical)
bool ConstantFolding_MulGrouping ()
bool ConstantFolding_AddGrouping ()
bool ConstantFolding_Assimilate ()
void Rehash (bool constantfolding=true)
void Mark_Incompletely_Hashed ()
bool Is_Incompletely_Hashed () const
const
FPoptimizer_Grammar::Grammar
GetOptimizedUsing () const
void SetOptimizedUsing (const FPoptimizer_Grammar::Grammar *g)
bool RecreateInversionsAndNegations (bool prefer_base2=false)
void FixIncompleteHashes ()
void swap (CodeTree &b)
bool IsIdenticalTo (const CodeTree &b) const
void CopyOnWrite ()

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Defines