FAUST compiler  0.9.9.6b8
Functions | Variables
binop.cpp File Reference
#include "binop.hh"
Include dependency graph for binop.cpp:

Go to the source code of this file.

Functions

static bool noNtrl (const Node &n)
 

Variables

BinOpgBinOpTable []
 
BinOpgBinOpLateqTable []
 

Function Documentation

static bool noNtrl ( const Node n)
static

Definition at line 26 of file binop.cpp.

26 { return false; }

Variable Documentation

BinOp* gBinOpLateqTable[]
Initial value:
= {
new BinOp("+","add_vec","add_scal", &addNode, &isZero, &isZero, 6),
new BinOp("-","sub_vec","sub_scal", &subNode, &noNtrl, &isZero, 7),
new BinOp("*","mul_vec","mul_scal", &mulNode, &isOne, &isOne, 8),
new BinOp("/","div_vec","div_scal", &divExtendedNode, &noNtrl, &isOne, 10),
new BinOp("\\bmod","mod_vec","mod_scal", &remNode, &noNtrl, &noNtrl, 9),
new BinOp("\\hiderel{\\ll}","shift_left_vec","shift_left_scal", &lshNode, &noNtrl, &isZero, 8),
new BinOp("\\hiderel{\\gg}","shift_right_vec","shift_right_scal", &rshNode, &noNtrl, &isZero, 8),
new BinOp("\\hiderel{>}","gt_vec","gt_scal", &gtNode, &noNtrl, &noNtrl, 5),
new BinOp("\\hiderel{<}","lt_vec","lt_scal", &ltNode, &noNtrl, &noNtrl, 5),
new BinOp("\\hiderel{\\geq}","ge_vec","ge_scal", &geNode, &noNtrl, &noNtrl, 5),
new BinOp("\\hiderel{\\leq}","le_vec","le_scal", &leNode, &noNtrl, &noNtrl, 5),
new BinOp("\\hiderel{\\equiv}","eq_vec","eq_scal", &eqNode, &noNtrl, &noNtrl, 5),
new BinOp("\\hiderel{\\neq}","neq_vec","neq_scal", &neNode, &noNtrl, &noNtrl, 5),
new BinOp("\\wedge","and_vec","and_scal", &andNode, &isMinusOne, &isMinusOne, 8),
new BinOp("\\vee","or_vec","or_scal", &orNode, &isZero, &isZero, 7),
new BinOp("\\veebar","xor_vec","xor_scal", &xorNode, &noNtrl, &noNtrl, 8)
}
const Node leNode(const Node &x, const Node &y)
Definition: node.hh:299
bool isZero(Tree a)
Definition: signals.hh:188
const Node eqNode(const Node &x, const Node &y)
Definition: node.hh:302
const Node addNode(const Node &x, const Node &y)
Definition: node.hh:241
bool isOne(Tree a)
Definition: signals.hh:191
const Node divExtendedNode(const Node &x, const Node &y)
Definition: node.hh:250
const Node remNode(const Node &x, const Node &y)
Definition: node.hh:255
bool isMinusOne(Tree a)
Definition: signals.hh:192
const Node xorNode(const Node &x, const Node &y)
Definition: node.hh:284
static bool noNtrl(const Node &n)
Definition: binop.cpp:26
const Node gtNode(const Node &x, const Node &y)
Definition: node.hh:290
const Node ltNode(const Node &x, const Node &y)
Definition: node.hh:293
const Node rshNode(const Node &x, const Node &y)
Definition: node.hh:272
const Node mulNode(const Node &x, const Node &y)
Definition: node.hh:247
const Node geNode(const Node &x, const Node &y)
Definition: node.hh:296
const Node neNode(const Node &x, const Node &y)
Definition: node.hh:305
const Node subNode(const Node &x, const Node &y)
Definition: node.hh:244
const Node lshNode(const Node &x, const Node &y)
Definition: node.hh:269
Definition: binop.hh:32
const Node andNode(const Node &x, const Node &y)
Definition: node.hh:278
const Node orNode(const Node &x, const Node &y)
Definition: node.hh:281

Definition at line 52 of file binop.cpp.

Referenced by DocCompiler::generateBinOp().

BinOp* gBinOpTable[]
Initial value:
= {
new BinOp("+","add_vec","add_scal", &addNode, &isZero, &isZero, 6),
new BinOp("-","sub_vec","sub_scal", &subNode, &noNtrl, &isZero, 7),
new BinOp("*","mul_vec","mul_scal", &mulNode, &isOne, &isOne, 8),
new BinOp("/","div_vec","div_scal", &divExtendedNode, &noNtrl, &isOne, 10),
new BinOp("%","mod_vec","mod_scal", &remNode, &noNtrl, &noNtrl, 9),
new BinOp("<<","shift_left_vec","shift_left_scal", &lshNode, &noNtrl, &isZero, 8),
new BinOp(">>","shift_right_vec","shift_right_scal", &rshNode, &noNtrl, &isZero, 8),
new BinOp(">","gt_vec","gt_scal", &gtNode, &noNtrl, &noNtrl, 5),
new BinOp("<","lt_vec","lt_scal", &ltNode, &noNtrl, &noNtrl, 5),
new BinOp(">=","ge_vec","ge_scal", &geNode, &noNtrl, &noNtrl, 5),
new BinOp("<=","le_vec","le_scal", &leNode, &noNtrl, &noNtrl, 5),
new BinOp("==","eq_vec","eq_scal", &eqNode, &noNtrl, &noNtrl, 5),
new BinOp("!=","neq_vec","neq_scal", &neNode, &noNtrl, &noNtrl, 5),
new BinOp("&","and_vec","and_scal", &andNode, &isMinusOne, &isMinusOne, 8),
new BinOp("|","or_vec","or_scal", &orNode, &isZero, &isZero, 7),
new BinOp("^","xor_vec","xor_scal", &xorNode, &noNtrl, &noNtrl, 8)
}
const Node leNode(const Node &x, const Node &y)
Definition: node.hh:299
bool isZero(Tree a)
Definition: signals.hh:188
const Node eqNode(const Node &x, const Node &y)
Definition: node.hh:302
const Node addNode(const Node &x, const Node &y)
Definition: node.hh:241
bool isOne(Tree a)
Definition: signals.hh:191
const Node divExtendedNode(const Node &x, const Node &y)
Definition: node.hh:250
const Node remNode(const Node &x, const Node &y)
Definition: node.hh:255
bool isMinusOne(Tree a)
Definition: signals.hh:192
const Node xorNode(const Node &x, const Node &y)
Definition: node.hh:284
static bool noNtrl(const Node &n)
Definition: binop.cpp:26
const Node gtNode(const Node &x, const Node &y)
Definition: node.hh:290
const Node ltNode(const Node &x, const Node &y)
Definition: node.hh:293
const Node rshNode(const Node &x, const Node &y)
Definition: node.hh:272
const Node mulNode(const Node &x, const Node &y)
Definition: node.hh:247
const Node geNode(const Node &x, const Node &y)
Definition: node.hh:296
const Node neNode(const Node &x, const Node &y)
Definition: node.hh:305
const Node subNode(const Node &x, const Node &y)
Definition: node.hh:244
const Node lshNode(const Node &x, const Node &y)
Definition: node.hh:269
Definition: binop.hh:32
const Node andNode(const Node &x, const Node &y)
Definition: node.hh:278
const Node orNode(const Node &x, const Node &y)
Definition: node.hh:281

Definition at line 28 of file binop.cpp.

Referenced by ScalarCompiler::generateBinOp(), ppsig::print(), and simplification().