|
FAUST compiler
0.9.9.6b8
|
#include <xtended.hh>


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 |
| virtual bool | isSpecialInfix () |
| generaly false, but true for binary op # such that #(x) == _::x | |
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().
:
fSymbol(::symbol(name)) {
setUserData(fSymbol, (void*)this);
}

| virtual xtended::~xtended | ( | ) | [inline, virtual] |
Definition at line 22 of file xtended.hh.
References fSymbol, and setUserData().
{ setUserData(fSymbol, 0); }

| virtual unsigned int xtended::arity | ( | ) | [pure virtual] |
Implemented in RintPrim, AbsPrim, Log10Prim, MaxPrim, MinPrim, RemainderPrim, SqrtPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, LogPrim, PowPrim, SinPrim, 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().
{
Tree b = tree(fSymbol);
assert(getUserData(b) != 0);
return b;
}


| virtual Tree xtended::computeSigOutput | ( | const vector< Tree > & | args | ) | [pure virtual] |
Implemented in RintPrim, Log10Prim, SqrtPrim, AbsPrim, LogPrim, MaxPrim, MinPrim, PowPrim, RemainderPrim, Atan2Prim, CeilPrim, ExpPrim, FloorPrim, FmodPrim, AcosPrim, AsinPrim, AtanPrim, CosPrim, SinPrim, 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 MaxPrim, MinPrim, RintPrim, AbsPrim, Log10Prim, SqrtPrim, LogPrim, PowPrim, RemainderPrim, Atan2Prim, CeilPrim, ExpPrim, FloorPrim, FmodPrim, AcosPrim, AsinPrim, AtanPrim, CosPrim, SinPrim, and TanPrim.
Referenced by ScalarCompiler::generateXtended().

| virtual string xtended::generateLateq | ( | Lateq * | lateq, |
| const vector< string > & | args, | ||
| const vector< Type > & | types | ||
| ) | [pure virtual] |
Implemented in MaxPrim, MinPrim, AbsPrim, RintPrim, Log10Prim, PowPrim, SqrtPrim, LogPrim, RemainderPrim, Atan2Prim, CeilPrim, ExpPrim, FloorPrim, FmodPrim, AcosPrim, AsinPrim, AtanPrim, CosPrim, SinPrim, and TanPrim.
Referenced by DocCompiler::generateXtended().

| virtual int xtended::infereSigOrder | ( | const vector< int > & | args | ) | [pure virtual] |
| virtual Type xtended::infereSigType | ( | const vector< Type > & | args | ) | [pure virtual] |
| virtual bool xtended::isSpecialInfix | ( | ) | [inline, virtual] |
generaly false, but true for binary op # such that #(x) == _::x
Reimplemented in PowPrim.
Definition at line 42 of file xtended.hh.
| const char* xtended::name | ( | ) | [inline] |
Definition at line 25 of file xtended.hh.
References fSymbol.
Referenced by generateInsideSchema(), boxpp::print(), ppsig::printextended(), and sigLabel().
{ return ::name(fSymbol); }

| virtual bool xtended::needCache | ( | ) | [pure virtual] |
Implemented in RintPrim, AbsPrim, Log10Prim, MaxPrim, MinPrim, RemainderPrim, SqrtPrim, AcosPrim, AsinPrim, Atan2Prim, AtanPrim, CeilPrim, CosPrim, ExpPrim, FloorPrim, FmodPrim, LogPrim, PowPrim, SinPrim, and TanPrim.
Referenced by ScalarCompiler::generateXtended(), and DocCompiler::generateXtended().

| Sym xtended::symbol | ( | ) | [inline] |
Definition at line 24 of file xtended.hh.
References fSymbol.
Referenced by AcosPrim::computeSigOutput(), AtanPrim::computeSigOutput(), SinPrim::computeSigOutput(), TanPrim::computeSigOutput(), AsinPrim::computeSigOutput(), CosPrim::computeSigOutput(), FloorPrim::computeSigOutput(), FmodPrim::computeSigOutput(), ExpPrim::computeSigOutput(), Atan2Prim::computeSigOutput(), CeilPrim::computeSigOutput(), PowPrim::computeSigOutput(), RemainderPrim::computeSigOutput(), MaxPrim::computeSigOutput(), AbsPrim::computeSigOutput(), MinPrim::computeSigOutput(), LogPrim::computeSigOutput(), SqrtPrim::computeSigOutput(), Log10Prim::computeSigOutput(), RintPrim::computeSigOutput(), and sigPow().
{ 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.8.0