163 int i;
if (
isInt(n, &i))
return t;
167 return tree(SIGINTCAST, t);
174 int i;
if (
isInt(n, &i))
return tree(
double(i));
175 double x;
if (
isDouble(n, &x))
return t;
179 return tree(SIGFLOATCAST, t);
216 {
return tree(SIGHSLIDER, lbl,
list4(cur,min,max,step)); }
222 if (
isTree(s, SIGHSLIDER, lbl, params)) {
223 cur =
nth(params, 0);
224 min =
nth(params, 1);
225 max =
nth(params, 2);
226 step=
nth(params, 3);
236 {
return tree(SIGVSLIDER, lbl,
list4(cur,min,max,step)); }
242 if (
isTree(s, SIGVSLIDER, lbl, params)) {
243 cur =
nth(params, 0);
244 min =
nth(params, 1);
245 max =
nth(params, 2);
246 step=
nth(params, 3);
256 {
return tree(SIGNUMENTRY, lbl,
list4(cur,min,max,step)); }
262 if (
isTree(s, SIGNUMENTRY, lbl, params)) {
263 cur =
nth(params, 0);
264 min =
nth(params, 1);
265 max =
nth(params, 2);
266 step=
nth(params, 3);
bool isSigHSlider(Tree s)
bool isSigRDTbl(Tree s, Tree &t, Tree &i)
bool isSigSub(Tree a, Tree &x, Tree &y)
Tree sigTupleAccess(Tree ts, Tree idx)
bool isSigPrefix(Tree t, Tree &t0, Tree &t1)
bool isSigCheckbox(Tree s)
Tree sigHBargraph(Tree lbl, Tree min, Tree max, Tree x)
bool isSigFFun(Tree s, Tree &ff, Tree &largs)
Tree sigHSlider(Tree lbl, Tree cur, Tree min, Tree max, Tree step)
Class Node = (type x (int + double + Sym + void*))
bool isSigNumEntry(Tree s)
bool isSigTuple(Tree s, int *mode, Tree &ls)
const Node addNode(const Node &x, const Node &y)
bool isSigSelect2(Tree t, Tree &selector, Tree &s1, Tree &s2)
Tree sigOutput(int i, Tree t0)
bool isSigIota(Tree t, Tree &t0)
Tree sigSelect2(Tree selector, Tree s1, Tree s2)
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
bool isSigInput(Tree t, int *i)
const Node divExtendedNode(const Node &x, const Node &y)
bool isSigFixDelay(Tree t, Tree &t0, Tree &t1)
Tree sigPrefix(Tree t0, Tree t1)
Tree addNums(Tree a, Tree b)
const Node & node() const
return the content of the tree
Tree list4(Tree a, Tree b, Tree c, Tree d)
bool isSigVBargraph(Tree s)
bool isSigSelect3(Tree t, Tree &selector, Tree &s1, Tree &s2, Tree &s3)
bool isSigVSlider(Tree s)
double max(double x, double y)
bool isSigGen(Tree t, Tree &x)
Tree mulNums(Tree a, Tree b)
bool isSigReal(Tree t, double *r)
Tree sigVSlider(Tree lbl, Tree cur, Tree min, Tree max, Tree step)
const Node mulNode(const Node &x, const Node &y)
Tree sigDocAccessTbl(Tree tbl, Tree ridx)
Tree sigProj(int i, Tree rgroup)
bool isSigTupleAccess(Tree s, Tree &ts, Tree &idx)
bool isSigHBargraph(Tree s)
bool isSigDocConstantTbl(Tree t, Tree &n, Tree &sig)
const Node minusNode(const Node &x)
bool isSigTable(Tree t, Tree &id, Tree &n, Tree &sig)
bool isSigBinOp(Tree s, int *op, Tree &x, Tree &y)
Tree sigWaveform(const tvec &wf)
bool isDouble(const Node &n)
bool isSigAttach(Tree t, Tree &t0, Tree &t1)
Tree sigAttach(Tree t0, Tree t1)
bool isSigDocAccessTbl(Tree t, Tree &tbl, Tree &ridx)
Tree concat(Tree l, Tree q)
Tree sigDocConstantTbl(Tree n, Tree sig)
bool isSigWRTbl(Tree u, Tree &id, Tree &t, Tree &i, Tree &s)
Tree sigCartesianProd(Tree s1, Tree s2)
Tree sigFloatCast(Tree t)
Tree sigFixDelay(Tree t0, Tree t1)
bool isSigAdd(Tree a, Tree &x, Tree &y)
bool verySimple(Tree exp)
Test if exp is very simple that is it can't be considered a real component.
bool isSigDiv(Tree a, Tree &x, Tree &y)
const char * name(Symbol *sym)
Returns the name of a symbol.
Tree sigFFun(Tree ff, Tree largs)
bool isSigWaveform(Tree s)
bool isSigInt(Tree t, int *i)
Tree sigFConst(Tree type, Tree name, Tree file)
Tree sigCheckbox(Tree lbl)
Tree sigVBargraph(Tree lbl, Tree min, Tree max, Tree x)
bool isSigDocWriteTbl(Tree t, Tree &n, Tree &sig, Tree &widx, Tree &wsig)
bool isSigDelay1(Tree t, Tree &t0)
Symbols are unique objects with a name stored in a hash table.
const Node subNode(const Node &x, const Node &y)
bool isSigFloatCast(Tree t)
bool isTree(const Tree &t, const Node &n)
Tree sigTuple(int mode, Tree ls)
Tree sigNumEntry(Tree lbl, Tree cur, Tree min, Tree max, Tree step)
Tree sigFVar(Tree type, Tree name, Tree file)
bool isSigIntCast(Tree t)
Tree sigRDTbl(Tree t, Tree i)
Symbol * symbol(const char *str)
Returns (and creates if new) the symbol of name str.
Tree sigSelect3(Tree selector, Tree s1, Tree s2, Tree s3)
bool isSigMul(Tree a, Tree &x, Tree &y)
Tree sigDocWriteTbl(Tree n, Tree sig, Tree widx, Tree wsig)
bool isProj(Tree t, int *i, Tree &rgroup)
bool isInt(const Node &n)
Tree divExtendedNums(Tree a, Tree b)
Tree sigWRTbl(Tree id, Tree t, Tree i, Tree s)
double min(double x, double y)
Tree sigTable(Tree id, Tree n, Tree sig)
Tree subNums(Tree a, Tree b)
Tree sigBinOp(int op, Tree x, Tree y)
bool isSigOutput(Tree t, int *i, Tree &t0)
const Node inverseNode(const Node &x)
Tree sigInt(int i)
Signals.