aboutsummaryrefslogtreecommitdiff
path: root/src/boot/util
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-07-06 23:18:29 -0700
committerGraydon Hoare <[email protected]>2010-07-06 23:18:29 -0700
commite813388df8df90d0db658e1e745a0a8a4d27ad8c (patch)
tree7920e0bc4d38fdb418c452388afda0e4b6f55f63 /src/boot/util
parentCorrect flow-graph wiring for STMT_if. (diff)
downloadrust-e813388df8df90d0db658e1e745a0a8a4d27ad8c.tar.xz
rust-e813388df8df90d0db658e1e745a0a8a4d27ad8c.zip
Numerous bug fixes to typestate algorithm.
Diffstat (limited to 'src/boot/util')
-rw-r--r--src/boot/util/bits.ml9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/boot/util/bits.ml b/src/boot/util/bits.ml
index 3114bd66..27bb4902 100644
--- a/src/boot/util/bits.ml
+++ b/src/boot/util/bits.ml
@@ -67,6 +67,15 @@ let invert (v:t) : unit =
done
;;
+(* dst = dst - src *)
+let difference (dst:t) (src:t) : bool =
+ invert src;
+ let b = intersect dst src in
+ invert src;
+ b
+;;
+
+
let set (v:t) (i:int) (x:bool) : unit =
assert (i >= 0);
assert (i < v.nbits);