aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/ir-utils.stanza
diff options
context:
space:
mode:
authorazidar2015-08-20 14:19:02 -0700
committerazidar2015-08-20 14:19:26 -0700
commit5bf451acbe03ecfd6407d7376cbb782ac0dd0f11 (patch)
treedddff083fe2e733bec114b34aadae5070714bcc7 /src/main/stanza/ir-utils.stanza
parent9175d99c622ca9b8c85ff733dbf9f0aa3ec8e266 (diff)
Added rsh to BigInt library. Const Prop now works on rsh's on constants. #19.
Diffstat (limited to 'src/main/stanza/ir-utils.stanza')
-rw-r--r--src/main/stanza/ir-utils.stanza5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/stanza/ir-utils.stanza b/src/main/stanza/ir-utils.stanza
index 25006659..8f260e8c 100644
--- a/src/main/stanza/ir-utils.stanza
+++ b/src/main/stanza/ir-utils.stanza
@@ -128,7 +128,10 @@ public defn to-int (x:Long) -> Int :
else : to-int(to-string(x))
public defn req-num-bits (i: Int) -> Int :
- max(1, ceil-log2(i + 1))
+ val i* =
+ if i < 0 : ((-1 * i) - 1)
+ else : i
+ ceil-log2(i* + 1) + 1
;============== PRINTERS ===================================