xtended Class Reference

#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.

Collaboration diagram for xtended:
[legend]

List of all members.

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

SymbolfSymbol
 the symbol the xtended is attached to

Detailed Description

Definition at line 12 of file xtended.hh.


Constructor & Destructor Documentation

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     }

Here is the call graph for this function:

virtual xtended::~xtended (  )  [inline, virtual]

Definition at line 22 of file xtended.hh.

References fSymbol, and setUserData().

00022 { setUserData(fSymbol, 0); }

Here is the call graph for this function:


Member Function Documentation

virtual unsigned int xtended::arity (  )  [pure virtual]
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                     }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual Tree xtended::computeSigOutput ( const vector< Tree > &  args  )  [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 propagate(), and simplification().

Here is the caller graph for this function:

virtual string xtended::generateCode ( Klass klass,
const vector< string > &  args,
const vector< Type > &  types 
) [pure virtual]
virtual string xtended::generateLateq ( Lateq lateq,
const vector< string > &  args,
const vector< Type > &  types 
) [pure virtual]
virtual int xtended::infereSigOrder ( const vector< int > &  args  )  [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 infereSigOrder().

Here is the caller graph for this function:

virtual Type xtended::infereSigType ( const vector< Type > &  args  )  [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 infereXType().

Here is the caller graph for this function:

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(), and ppsig::printextended().

00025 { return ::name(fSymbol); }

Here is the caller graph for this function:

virtual bool xtended::needCache (  )  [pure virtual]
Sym xtended::symbol (  )  [inline]

Member Data Documentation

the symbol the xtended is attached to

Definition at line 14 of file xtended.hh.

Referenced by box(), name(), symbol(), xtended(), and ~xtended().


The documentation for this class was generated from the following file:
Generated on Thu Jul 15 15:47:37 2010 for FAUST compiler by  doxygen 1.6.3