summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-10-08 17:23:58 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2011-10-08 17:23:58 -0400
commit8b909d991fe993c711d432cfc9928dc7ffbdbbac (patch)
treeaf5545a16e8c2d7f65737c161285cf78b8ed2d43 /lib
parent2b3bec54a0307652646f5ad9deff619b82cb5a91 (diff)
Primitive int/float functions: ceil, float, round, trunc
Diffstat (limited to 'lib')
-rw-r--r--lib/js/urweb.js19
-rw-r--r--lib/ur/basis.urs8
2 files changed, 27 insertions, 0 deletions
diff --git a/lib/js/urweb.js b/lib/js/urweb.js
index d7149eba..1cfbf0ca 100644
--- a/lib/js/urweb.js
+++ b/lib/js/urweb.js
@@ -93,6 +93,25 @@ function length(ls) {
}
+// Floats
+
+function float(n) {
+ return n;
+}
+
+function trunc(n) {
+ return ~~n;
+}
+
+function ceil(n) {
+ return Math.ceil(n);
+}
+
+function round(n) {
+ return Math.round(n);
+}
+
+
// Time
function showTime(tm) {
diff --git a/lib/ur/basis.urs b/lib/ur/basis.urs
index dc4d9ba2..70c1ef55 100644
--- a/lib/ur/basis.urs
+++ b/lib/ur/basis.urs
@@ -145,6 +145,14 @@ val signal : t ::: Type -> source t -> signal t
val current : t ::: Type -> signal t -> transaction t
+(** * Floats *)
+
+val float : int -> float
+val ceil : float -> int
+val trunc : float -> int
+val round : float -> int
+
+
(** * Time *)
val now : transaction time