diff options
author | Eduardo Julian | 2017-05-23 19:46:10 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-05-23 19:46:10 -0400 |
commit | e6cbd132125eab9fe72e1c17df5f4c4bcfb32f20 (patch) | |
tree | 19e3da5e0c5aa68bdc49565fe361e2743516439c /luxc/src | |
parent | d1171dc59edd34418e1b8b4da432c78cd59a9cb4 (diff) |
- Implemented Real<->Bits conversion (and used it to implement Hash<Real>).
Diffstat (limited to '')
-rw-r--r-- | luxc/src/lux/analyser/proc/common.clj | 2 | ||||
-rw-r--r-- | luxc/src/lux/compiler/js/proc/common.clj | 7 | ||||
-rw-r--r-- | luxc/src/lux/compiler/jvm/proc/common.clj | 11 |
3 files changed, 0 insertions, 20 deletions
diff --git a/luxc/src/lux/analyser/proc/common.clj b/luxc/src/lux/analyser/proc/common.clj index 29797224f..a0430feb7 100644 --- a/luxc/src/lux/analyser/proc/common.clj +++ b/luxc/src/lux/analyser/proc/common.clj @@ -299,7 +299,6 @@ ^:private analyse-int-to-real &type/Int &type/Real ["int" "to-real"] ^:private analyse-real-to-int &type/Real &type/Int ["real" "to-int"] - ^:private analyse-real-hash &type/Real &type/Nat ["real" "hash"] ^:private analyse-char-to-text &type/Char &type/Text ["char" "to-text"] @@ -597,7 +596,6 @@ "negative-infinity" (analyse-real-negative-infinity analyse exo-type ?values) "to-deg" (analyse-real-to-deg analyse exo-type ?values) "to-int" (analyse-real-to-int analyse exo-type ?values) - "hash" (analyse-real-hash analyse exo-type ?values) ) "char" diff --git a/luxc/src/lux/compiler/js/proc/common.clj b/luxc/src/lux/compiler/js/proc/common.clj index 2f872676e..871f5e15b 100644 --- a/luxc/src/lux/compiler/js/proc/common.clj +++ b/luxc/src/lux/compiler/js/proc/common.clj @@ -151,12 +151,6 @@ ^:private compile-real-decode "decodeReal" ) -(defn ^:private compile-real-hash [compile ?values special-args] - (|do [:let [(&/$Cons ?x (&/$Nil)) ?values] - =x (compile ?x)] - (return (str "LuxRT$textHash(''+" =x ")")) - )) - (do-template [<name> <compiler> <value>] (defn <name> [compile ?values special-args] (|do [:let [(&/$Nil) ?values]] @@ -549,7 +543,6 @@ "negative-infinity" (compile-real-negative-infinity compile ?values special-args) "to-deg" (compile-real-to-deg compile ?values special-args) "to-int" (compile-real-to-int compile ?values special-args) - "hash" (compile-real-hash compile ?values special-args) ) "char" diff --git a/luxc/src/lux/compiler/jvm/proc/common.clj b/luxc/src/lux/compiler/jvm/proc/common.clj index 1fe49d227..821fcc619 100644 --- a/luxc/src/lux/compiler/jvm/proc/common.clj +++ b/luxc/src/lux/compiler/jvm/proc/common.clj @@ -299,16 +299,6 @@ ^:private compile-char-lt Opcodes/IF_ICMPLT &&/unwrap-char ) -(defn ^:private compile-real-hash [compile ?values special-args] - (|do [:let [(&/$Cons ?input (&/$Nil)) ?values] - ^MethodVisitor *writer* &/get-writer - _ (compile ?input) - :let [_ (doto *writer* - &&/unwrap-double - (.visitMethodInsn Opcodes/INVOKESTATIC "java/lang/Double" "doubleToRawLongBits" "(D)J") - &&/wrap-long)]] - (return nil))) - (do-template [<name> <cmp-output>] (defn <name> [compile ?values special-args] (|do [:let [(&/$Cons ?x (&/$Cons ?y (&/$Nil))) ?values] @@ -966,7 +956,6 @@ "%" (compile-real-rem compile ?values special-args) "=" (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) |