Scribus
Open source desktop publishing at your fingertips
FPoptimizer_CodeTree::CodeTree Class Reference

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)
 
void SynthesizeByteCode (std::vector< unsigned > &byteCode, std::vector< double > &immed, size_t &stacktop_max)
 
void SynthesizeByteCode (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
 
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 () const
 
void ConstantFolding ()
 
void ConstantFolding_FromLogicalParent ()
 
bool ConstantFolding_AndLogic ()
 
bool ConstantFolding_OrLogic ()
 
bool ConstantFolding_LogicCommon (bool is_or)
 
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::GrammarGetOptimizedUsing () const
 
void SetOptimizedUsing (const FPoptimizer_Grammar::Grammar *g)
 
void swap (CodeTree &b)
 
bool IsIdenticalTo (const CodeTree &b) const
 
void CopyOnWrite ()
 

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