aboutsummaryrefslogtreecommitdiff
path: root/source/lux/data/number/real.lux
diff options
context:
space:
mode:
Diffstat (limited to 'source/lux/data/number/real.lux')
-rw-r--r--source/lux/data/number/real.lux7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/lux/data/number/real.lux b/source/lux/data/number/real.lux
index 2b7090265..7301f2932 100644
--- a/source/lux/data/number/real.lux
+++ b/source/lux/data/number/real.lux
@@ -8,6 +8,7 @@
(monoid #as m)
(eq #as E)
(ord #as O)
+ (enum #as EN)
(bounded #as B)
(show #as S)))
@@ -56,6 +57,12 @@
[Real/Ord Real Real/Eq _jvm_deq _jvm_dlt _jvm_dgt])
+## Enum
+(defstruct Real/Enum (EN;Enum Real)
+ (def _ord Real/Ord)
+ (def succ (lambda [n] (:: Real/Number (N;+ n 1.0))))
+ (def pred (lambda [n] (:: Real/Number (N;- n 1.0)))))
+
## Bounded
(do-template [<name> <type> <top> <bottom>]
[(defstruct #export <name> (B;Bounded <type>)