X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/faust-0.9.47mr3/compiler/headers/xtended.hh diff --git a/interpretor/faust-0.9.47mr3/compiler/headers/xtended.hh b/interpretor/faust-0.9.47mr3/compiler/headers/xtended.hh deleted file mode 100644 index d7b99c7..0000000 --- a/interpretor/faust-0.9.47mr3/compiler/headers/xtended.hh +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef __XTENDED__ -#define __XTENDED__ - -// xtended -#include "tlib.hh" -#include "sigtype.hh" -#include "klass.hh" -#include "sigvisitor.hh" -#include -#include "lateq.hh" - -class xtended -{ - Symbol* fSymbol; ///< the symbol the xtended is attached to - public: - - - xtended (const char* name) : - fSymbol(::symbol(name)) { - setUserData(fSymbol, (void*)this); - } - virtual ~xtended() { setUserData(fSymbol, 0); } - - Sym symbol() { return fSymbol; } - const char * name () { return ::name(fSymbol); } - - Tree box () { - Tree b = tree(fSymbol); - assert(getUserData(b) != 0); - return b; - } - - // virtual method to be implemented by subclasses - virtual unsigned int arity () = 0; - virtual string generateCode (Klass* klass, const vector& args, const vector& types) = 0; - virtual string generateLateq (Lateq* lateq, const vector& args, const vector& types) = 0; - virtual int infereSigOrder (const vector& args) = 0; - virtual Type infereSigType (const vector& args) = 0; - virtual Tree computeSigOutput (const vector& args) = 0; - virtual bool needCache () = 0; - - virtual bool isSpecialInfix() { return false; } ///< generaly false, but true for binary op # such that #(x) == _#x -}; - -// -- Trigonometric Functions - -extern xtended* gAcosPrim; -extern xtended* gAsinPrim; -extern xtended* gAtanPrim; -extern xtended* gAtan2Prim; - -extern xtended* gSinPrim; -extern xtended* gCosPrim; -extern xtended* gTanPrim; - - -// -- Exponential Functions - -extern xtended* gExpPrim; -extern xtended* gLogPrim; -extern xtended* gLog10Prim; -extern xtended* gPowPrim; - -extern xtended* gSqrtPrim; -extern xtended* gCbrtPrim; -extern xtended* gHypotPrim; -extern xtended* gLdexpPrim; -extern xtended* gScalbPrim; -extern xtended* gLog1pPrim; -extern xtended* gLogbPrim; -extern xtended* gIlogbPrim; -extern xtended* gExpm1Prim; - - -// -- Hyperbolic Functions - -extern xtended* gAcoshPrim; -extern xtended* gAsinhPrim; -extern xtended* gAtanhPrim; - -extern xtended* gSinhPrim; -extern xtended* gCoshPrim; -extern xtended* gTanhPrim; - - -// -- Remainder Functions - -extern xtended* gFmodPrim; -extern xtended* gRemainderPrim; - -// -- Nearest Integer Functions - -extern xtended* gFloorPrim; -extern xtended* gCeilPrim; -extern xtended* gRintPrim; - - -// -- Miscellaneous Functions - -extern xtended* gAbsPrim; -extern xtended* gMaxPrim; -extern xtended* gMinPrim; - -#endif