#include <xtended.hh>
Inherited by AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Public Member Functions | |
| xtended (const char *name) | |
| virtual | ~xtended () |
| Sym | symbol () |
| const char * | name () |
| Tree | box () |
| virtual unsigned int | arity ()=0 |
| virtual string | generateCode (Klass *klass, const vector< string > &args, const vector< Type > &types)=0 |
| virtual string | generateLateq (Lateq *lateq, const vector< string > &args, const vector< Type > &types)=0 |
| virtual int | infereSigOrder (const vector< int > &args)=0 |
| virtual Type | infereSigType (const vector< Type > &args)=0 |
| virtual Tree | computeSigOutput (const vector< Tree > &args)=0 |
| virtual bool | needCache ()=0 |
Private Attributes | |
| Symbol * | fSymbol |
| the symbol the xtended is attached to | |
Definition at line 12 of file xtended.hh.
| xtended::xtended | ( | const char * | name | ) | [inline] |
Definition at line 18 of file xtended.hh.
References fSymbol, and setUserData().
00018 : 00019 fSymbol(::symbol(name)) { 00020 setUserData(fSymbol, (void*)this); 00021 }
| virtual xtended::~xtended | ( | ) | [inline, virtual] |
Definition at line 22 of file xtended.hh.
References fSymbol, and setUserData().
00022 { setUserData(fSymbol, 0); }
| virtual unsigned int xtended::arity | ( | ) | [pure virtual] |
Implemented in AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Referenced by generateInsideSchema(), infereBoxType(), and propagate().
| Tree xtended::box | ( | ) | [inline] |
Definition at line 27 of file xtended.hh.
References fSymbol, getUserData(), and tree().
Referenced by yyparse().
00027 { 00028 Tree b = tree(fSymbol); 00029 assert(getUserData(b) != 0); 00030 return b; 00031 }
Implemented in AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Referenced by propagate(), and simplification().
| virtual string xtended::generateCode | ( | Klass * | klass, | |
| const vector< string > & | args, | |||
| const vector< Type > & | types | |||
| ) | [pure virtual] |
Implemented in AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Referenced by ScalarCompiler::generateXtended().
| virtual string xtended::generateLateq | ( | Lateq * | lateq, | |
| const vector< string > & | args, | |||
| const vector< Type > & | types | |||
| ) | [pure virtual] |
Implemented in AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Referenced by DocCompiler::generateXtended().
| virtual int xtended::infereSigOrder | ( | const vector< int > & | args | ) | [pure virtual] |
| const char* xtended::name | ( | ) | [inline] |
Definition at line 25 of file xtended.hh.
References fSymbol.
Referenced by generateInsideSchema(), boxpp::print(), and ppsig::printextended().
00025 { return ::name(fSymbol); }
| virtual bool xtended::needCache | ( | ) | [pure virtual] |
Implemented in AbsPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, Log10Prim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, RintPrim, SinPrim, SqrtPrim, and TanPrim.
Referenced by DocCompiler::generateXtended(), and ScalarCompiler::generateXtended().
| Sym xtended::symbol | ( | ) | [inline] |
Definition at line 24 of file xtended.hh.
References fSymbol.
Referenced by TanPrim::computeSigOutput(), SqrtPrim::computeSigOutput(), SinPrim::computeSigOutput(), RintPrim::computeSigOutput(), RemainderPrim::computeSigOutput(), PowPrim::computeSigOutput(), MinPrim::computeSigOutput(), MaxPrim::computeSigOutput(), LogPrim::computeSigOutput(), Log10Prim::computeSigOutput(), FmodPrim::computeSigOutput(), FloorPrim::computeSigOutput(), ExpPrim::computeSigOutput(), CosPrim::computeSigOutput(), CeilPrim::computeSigOutput(), AtanPrim::computeSigOutput(), Atan2Prim::computeSigOutput(), AsinPrim::computeSigOutput(), and AcosPrim::computeSigOutput().
00024 { return fSymbol; }
Symbol* xtended::fSymbol [private] |
the symbol the xtended is attached to
Definition at line 14 of file xtended.hh.
Referenced by box(), name(), symbol(), xtended(), and ~xtended().
1.6.3