-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprimops.js
45 lines (40 loc) · 1.08 KB
/
primops.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/** functional wrappers for primitive operators **/
var add = function(a,b) {return a+b};
var sub = function(a,b) {return a-b};
var mul = function(a,b) {return a*b};
var div = function(a,b) {return a/b};
var mod = function(a,b) {return a%b};
var eq = function(a,b) {return a==b};
var neq = function(a,b) {return a!=b};
var peq = function(a,b) {return a===b};
var pneq = function(a,b) {return a!==b};
var gt = function(a,b) {return a>b};
var lt = function(a,b) {return a<b};
var geq = function(a,b) {return a>=b};
var leq = function(a,b) {return a<=b};
/** simple helper functions **/
var zeroF = function(x){return 0;};
var oneF = function(x1, x2){return 1.0;};
var m_oneF = function(x1, x2){return -1.0;};
var firstF = function(x1, x2){return x1;};
var secondF = function(x1, x2){return x2;};
module.exports = {
add: add,
sub: sub,
mul: mul,
div: div,
mod: mod,
eq: eq,
neq: neq,
peq: peq,
pneq: pneq,
gt: gt,
lt: lt,
geq: geq,
leq: leq,
zeroF: zeroF,
oneF: oneF,
m_oneF: m_oneF,
firstF: firstF,
secondF: secondF
}