remove README.Protocol and add a README that refers to the "real"
[fg:toms-fgdata.git] / Nasal / math.nas
1 var abs = func(n) { n < 0 ? -n : n }
2
3 var pow = func(x, y) { exp(y * ln(x)) }
4
5 var mod = func(n, m) {
6     var x = n - m * int(n/m);      # int() truncates to zero, not -Inf
7     return x < 0 ? x + abs(m) : x; # ...so must handle negative n's
8 }
9
10 var asin = func(y) { atan2(y, sqrt(1-y*y)) }
11
12 var acos = func(x) { atan2(sqrt(1-x*x), x) }
13
14 var _iln10 = 1/ln(10);
15 var log10 = func(x) { ln(x) * _iln10; }