aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/r
diff options
context:
space:
mode:
authorEduardo Julian2018-05-07 21:43:19 -0400
committerEduardo Julian2018-05-07 21:43:19 -0400
commit07c70ad15ba4a8c9b00773a0a14eade28fe06569 (patch)
tree18d6e938cb0a79ecffddd64da1958de47d75ee0f /new-luxc/source/luxc/lang/translation/r
parentfebfa99c2823219c2e76d2c73b1fd8db8f6c9918 (diff)
- Implemented bit-count in pure Lux.
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/r')
-rw-r--r--new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux1
-rw-r--r--new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux20
2 files changed, 0 insertions, 21 deletions
diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
index 68b0bb67d..5c4909d9b 100644
--- a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux
@@ -176,7 +176,6 @@
Bundle
(<| (prefix "bit")
(|> (dict.new text.Hash<Text>)
- (install "count" (unary runtimeT.bit//count))
(install "and" (binary bit//and))
(install "or" (binary bit//or))
(install "xor" (binary bit//xor))
diff --git a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
index ced898662..5f073eb17 100644
--- a/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/r/runtime.jvm.lux
@@ -609,24 +609,6 @@
[bit//xor r.bit-xor]
)
-(runtime: (bit//count-32 input)
- (with-vars [count]
- ($_ r.then
- (r.set! count (r.int 0))
- (let [last-input-bit (|> (@@ input) (r.bit-and (r.int 1)))
- update-count! (r.set! count (|> (@@ count) (r.+ last-input-bit)))
- consume-input! (r.set! input (|> (@@ input) (r.bit-ushr (r.int 1))))
- input-remaining? (|> (@@ input) (r.= (r.int 0)))]
- (r.while input-remaining?
- ($_ r.then
- update-count!
- consume-input!)))
- (@@ count))))
-
-(runtime: (bit//count input)
- (int//from-float (r.+ (bit//count-32 (int64-high (@@ input)))
- (bit//count-32 (int64-low (@@ input))))))
-
(runtime: (bit//logical-right-shift shift input)
($_ r.then
(limit-shift! shift)
@@ -656,8 +638,6 @@
@@bit//or
@@bit//xor
@@bit//not
- @@bit//count-32
- @@bit//count
@@bit//left-shift
@@bit//arithmetic-right-shift-32
@@bit//arithmetic-right-shift