diff options
author | Adam Chlipala <adamc@csail.mit.edu> | 2016-05-24 11:41:11 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@csail.mit.edu> | 2016-05-24 11:41:11 -0400 |
commit | f4c8df8e16524cf9ab7a9ab6ff6824ef5055b21c (patch) | |
tree | 7c7b838d73689bd6180ba532accde984c7e2d420 /src | |
parent | 02724f709fcafa9f4e854c271df6c2f79fd9cfa6 (diff) | |
parent | ae4778d7a3f4dacde39232b503bd134ce71444ee (diff) |
Merge pull request #26 from karsar/math_update
Some basic math functions: pow, sqrt, sin, cos, log, exp
Diffstat (limited to 'src')
-rw-r--r-- | src/c/urweb.c | 48 | ||||
-rw-r--r-- | src/settings.sml | 13 |
2 files changed, 61 insertions, 0 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c index c23366fb..6eb3c21c 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -4517,6 +4517,54 @@ uw_Basis_int uw_Basis_round(uw_context ctx, uw_Basis_float n) { return round(n); } +uw_Basis_int uw_Basis_floor(uw_context ctx, uw_Basis_float n) { + return floor(n); +} + +uw_Basis_float uw_Basis_pow(uw_context ctx, uw_Basis_float n, uw_Basis_float m) { + return pow(n,m); +} + +uw_Basis_float uw_Basis_sqrt(uw_context ctx, uw_Basis_float n) { + return sqrt(n); +} + +uw_Basis_float uw_Basis_sin(uw_context ctx, uw_Basis_float n) { + return sin(n); +} + +uw_Basis_float uw_Basis_cos(uw_context ctx, uw_Basis_float n) { + return cos(n); +} + +uw_Basis_float uw_Basis_log(uw_context ctx, uw_Basis_float n) { + return log(n); +} + +uw_Basis_float uw_Basis_exp(uw_context ctx, uw_Basis_float n) { + return exp(n); +} + +uw_Basis_float uw_Basis_asin(uw_context ctx, uw_Basis_float n) { + return asin(n); +} + +uw_Basis_float uw_Basis_acos(uw_context ctx, uw_Basis_float n) { + return acos(n); +} + +uw_Basis_float uw_Basis_atan(uw_context ctx, uw_Basis_float n) { + return atan(n); +} + +uw_Basis_float uw_Basis_atan2(uw_context ctx, uw_Basis_float n, uw_Basis_float m) { + return atan2(n, m); +} + +uw_Basis_float uw_Basis_abs(uw_context ctx, uw_Basis_float n) { + return fabs(n); +} + uw_Basis_string uw_Basis_atom(uw_context ctx, uw_Basis_string s) { char *p; diff --git a/src/settings.sml b/src/settings.sml index 85cab207..b72789df 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -335,6 +335,19 @@ val jsFuncsBase = basisM [("alert", "alert"), ("ceil", "ceil"), ("trunc", "trunc"), ("round", "round"), + ("floor", "floor"), + + ("pow", "pow"), + ("sqrt", "sqrt"), + ("sin", "sin"), + ("cos", "cos"), + ("log", "log"), + ("exp", "exp"), + ("asin", "asin"), + ("acos", "acos"), + ("atan", "atan"), + ("atan2", "atan2"), + ("abs", "abs"), ("now", "now"), ("timeToString", "showTime"), |