aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
authorEduardo Julian2017-03-27 23:07:24 -0400
committerEduardo Julian2017-03-27 23:07:24 -0400
commit15ff808a5ddd2d2c9e21774c1147ff82e015a498 (patch)
treefc8f239e6f2791cd75e78d92074297f7e6e9f3c5 /luxc
parent1d7a328afcb649fa0a69f6df4bd7b1ca6aa8a59c (diff)
- Expanded the lux/control/interval module.
- Implemented Enum<Real>.
Diffstat (limited to 'luxc')
-rw-r--r--luxc/src/lux/analyser/proc/common.clj2
-rw-r--r--luxc/src/lux/compiler/js/proc/common.clj2
-rw-r--r--luxc/src/lux/compiler/jvm/proc/common.clj2
3 files changed, 6 insertions, 0 deletions
diff --git a/luxc/src/lux/analyser/proc/common.clj b/luxc/src/lux/analyser/proc/common.clj
index 9a295b1eb..ff85600ab 100644
--- a/luxc/src/lux/analyser/proc/common.clj
+++ b/luxc/src/lux/analyser/proc/common.clj
@@ -272,6 +272,7 @@
^:private analyse-deg-min-value &type/Deg ["deg" "min-value"]
^:private analyse-deg-max-value &type/Deg ["deg" "max-value"]
+ ^:private analyse-real-smallest-value &type/Real ["real" "smallest-value"]
^:private analyse-real-min-value &type/Real ["real" "min-value"]
^:private analyse-real-max-value &type/Real ["real" "max-value"]
^:private analyse-real-not-a-number &type/Real ["real" "not-a-number"]
@@ -591,6 +592,7 @@
"<" (analyse-real-lt analyse exo-type ?values)
"encode" (analyse-real-encode analyse exo-type ?values)
"decode" (analyse-real-decode analyse exo-type ?values)
+ "smallest-value" (analyse-real-smallest-value analyse exo-type ?values)
"min-value" (analyse-real-min-value analyse exo-type ?values)
"max-value" (analyse-real-max-value analyse exo-type ?values)
"not-a-number" (analyse-real-not-a-number analyse exo-type ?values)
diff --git a/luxc/src/lux/compiler/js/proc/common.clj b/luxc/src/lux/compiler/js/proc/common.clj
index cd67104f4..f6591c8fa 100644
--- a/luxc/src/lux/compiler/js/proc/common.clj
+++ b/luxc/src/lux/compiler/js/proc/common.clj
@@ -178,6 +178,7 @@
^:private compile-deg-min-value &&lux/compile-deg 0
^:private compile-deg-max-value &&lux/compile-deg -1
+ ^:private compile-real-smallest-value &&lux/compile-real Double/MIN_VALUE
^:private compile-real-min-value &&lux/compile-real (* -1.0 Double/MAX_VALUE)
^:private compile-real-max-value &&lux/compile-real Double/MAX_VALUE
@@ -552,6 +553,7 @@
"<" (compile-real-lt compile ?values special-args)
"encode" (compile-real-encode compile ?values special-args)
"decode" (compile-real-decode compile ?values special-args)
+ "smallest-value" (compile-real-smallest-value compile ?values special-args)
"max-value" (compile-real-max-value compile ?values special-args)
"min-value" (compile-real-min-value compile ?values special-args)
"not-a-number" (compile-real-not-a-number compile ?values special-args)
diff --git a/luxc/src/lux/compiler/jvm/proc/common.clj b/luxc/src/lux/compiler/jvm/proc/common.clj
index ffb621c3b..c8623985a 100644
--- a/luxc/src/lux/compiler/jvm/proc/common.clj
+++ b/luxc/src/lux/compiler/jvm/proc/common.clj
@@ -378,6 +378,7 @@
^:private compile-deg-min-value (.visitLdcInsn 0) &&/wrap-long
^:private compile-deg-max-value (.visitLdcInsn -1) &&/wrap-long
+ ^:private compile-real-smallest-value (.visitLdcInsn Double/MIN_VALUE) &&/wrap-double
^:private compile-real-min-value (.visitLdcInsn (* -1.0 Double/MAX_VALUE)) &&/wrap-double
^:private compile-real-max-value (.visitLdcInsn Double/MAX_VALUE) &&/wrap-double
@@ -996,6 +997,7 @@
"=" (compile-real-eq compile ?values special-args)
"<" (compile-real-lt compile ?values special-args)
"hash" (compile-real-hash compile ?values special-args)
+ "smallest-value" (compile-real-smallest-value compile ?values special-args)
"max-value" (compile-real-max-value compile ?values special-args)
"min-value" (compile-real-min-value compile ?values special-args)
"not-a-number" (compile-real-not-a-number compile ?values special-args)