aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Karen Sargsyan <karsar@ibms.sinica.edu.tw>2016-05-21 18:00:59 +0800
committerGravatar Karen Sargsyan <karsar@ibms.sinica.edu.tw>2016-05-21 18:00:59 +0800
commit22527df1714c83e968913dabba4ba3ec81adc20c (patch)
tree9dafbbb36b0d25200b70a92e1aca8f6f0ae2f583 /src
parent02724f709fcafa9f4e854c271df6c2f79fd9cfa6 (diff)
Some basic math functions: pow, sqrt, sin, cos, log, exp are added to work at client and server sides
Diffstat (limited to 'src')
-rw-r--r--src/c/urweb.c24
-rw-r--r--src/settings.sml8
2 files changed, 32 insertions, 0 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c
index c23366fb..edf55f21 100644
--- a/src/c/urweb.c
+++ b/src/c/urweb.c
@@ -4517,6 +4517,30 @@ uw_Basis_int uw_Basis_round(uw_context ctx, uw_Basis_float n) {
return round(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_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..c0b5e0e6 100644
--- a/src/settings.sml
+++ b/src/settings.sml
@@ -336,6 +336,14 @@ val jsFuncsBase = basisM [("alert", "alert"),
("trunc", "trunc"),
("round", "round"),
+ ("pow", "pow"),
+ ("sqrt", "sqrt"),
+ ("sin", "sin"),
+ ("cos", "cos"),
+ ("log", "log"),
+ ("exp", "exp"),
+
+
("now", "now"),
("timeToString", "showTime"),
("htmlifyTime", "showTimeHtml"),