24 #ifndef _COMPILE_SCAL_
25 #define _COMPILE_SCAL_
57 Compiler(name,super,numInputs,numOutputs,false),
72 virtual string CS (
Tree sig);
141 virtual string generateDelayVec(
Tree sig,
const string& exp,
const string& ctype,
const string& vname,
int mxd);
144 virtual void generateDelayLine(
const string& ctype,
const string& vname,
int mxd,
const string& exp);
Compile a list of FAUST signals into a scalar C++ class.
void ensureIotaCode()
Generate code for a unique IOTA variable increased at each sample and used to index ring buffers...
string setCompiledExpression(Tree sig, const string &name)
Set the string of a compiled expression is already compiled.
virtual string CS(Tree sig)
Compile a signal.
string generateHBargraph(Tree sig, Tree label, Tree min, Tree max, const string &exp)
property< string > fVectorProperty
void getTypedNames(Type t, const string &prefix, string &ctype, string &vname)
int pow2limit(int x)
Compute the minimal power of 2 greater than x.
string generateSelect3(Tree sig, Tree sel, Tree s1, Tree s2, Tree s3)
Generate a select3 code (using if-then-else) ((int n = sel==0)? s0 : ((sel==1)? s1 : s2)) int nn; ((n...
virtual string generateWaveform(Tree sig)
string generatePrefix(Tree sig, Tree x, Tree e)
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
string generateSelect2(Tree sig, Tree sel, Tree s1, Tree s2)
Generate a select2 code.
string generateSigGen(Tree sig, Tree content)
string generateHSlider(Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)
string generateFVar(Tree sig, const string &file, const string &name)
string generateIota(Tree sig, Tree arg)
string generateRecProj(Tree sig, Tree exp, int i)
Generate code for a projection of a group of mutually recursive definitions.
string generateBinOp(Tree sig, int opcode, Tree arg1, Tree arg2)
double max(double x, double y)
string generateRDTbl(Tree sig, Tree tbl, Tree idx)
string generateNumEntry(Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)
string generateDelayVecNoTemp(Tree sig, const string &exp, const string &ctype, const string &vname, int mxd)
Generate code for the delay mecchanism without using temporary variables.
string generateButton(Tree sig, Tree label)
string generateStaticTable(Tree sig, Tree tsize, Tree content)
virtual string generateDelayVec(Tree sig, const string &exp, const string &ctype, const string &vname, int mxd)
Generate code for the delay mecchanism.
string generateFloatCast(Tree sig, Tree x)
bool getVectorNameProperty(Tree sig, string &vecname)
Get the vector name property of a signal, the name of the vector used to store the previous values of...
string generateVSlider(Tree sig, Tree label, Tree cur, Tree min, Tree max, Tree step)
string getFreshID(const string &prefix)
int getSharingCount(Tree t)
void compilePreparedSignalList(Tree lsig)
bool getCompiledExpression(Tree sig, string &name)
Test if a signal is already compiled.
virtual string generateVariableStore(Tree sig, const string &exp)
void sharingAnalysis(Tree t)
property< pair< string, string > > fInstanceInitProperty
ScalarCompiler(const string &name, const string &super, int numInputs, int numOutputs)
string generateCheckbox(Tree sig, Tree label)
property< string > fCompileProperty
property< pair< string, string > > fStaticInitProperty
Occurences Markup of a root tree.
void generateRec(Tree sig, Tree var, Tree le)
Generate code for a group of mutually recursive definitions.
string generateInput(Tree sig, const string &idx)
const char * name(Symbol *sym)
Returns the name of a symbol.
string generateIntCast(Tree sig, Tree x)
string generateXtended(Tree sig)
retrieve the type annotation of sig
virtual void compileSingleSignal(Tree lsig)
string generateOutput(Tree sig, const string &idx, const string &arg1)
virtual string generateCacheCode(Tree sig, const string &exp)
string generateWRTbl(Tree sig, Tree tbl, Tree idx, Tree data)
string generateNumber(Tree sig, const string &exp)
virtual string generateFixDelay(Tree sig, Tree arg, Tree size)
Generate code for accessing a delayed signal.
string generateFFun(Tree sig, Tree ff, Tree largs)
void declareWaveform(Tree sig, string &vname, int &size)
Generate code for a waveform.
void setVectorNameProperty(Tree sig, const string &vecname)
Set the vector name property of a signal, the name of the vector used to store the previous values of...
void sharingAnnotation(int vctxt, Tree t)
virtual void compileMultiSignal(Tree lsig)
string generateFConst(Tree sig, const string &file, const string &name)
API to the typing system of signals.
double min(double x, double y)
string generateVBargraph(Tree sig, Tree label, Tree min, Tree max, const string &exp)
virtual string generateCode(Tree sig)
Main code generator dispatch.
void setSharingCount(Tree t, int count)
string generateStaticSigGen(Tree sig, Tree content)
virtual void generateDelayLine(const string &ctype, const string &vname, int mxd, const string &exp)
Generate code for the delay mecchanism without using temporary variables.
string generateTable(Tree sig, Tree tsize, Tree content)
static map< string, int > fIDCounters
virtual string forceCacheCode(Tree sig, const string &exp)