aboutsummaryrefslogtreecommitdiff
path: root/src/Util/ZUtil/Definitions.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2019-04-02 17:51:17 -0400
committerGravatar Jason Gross <jgross@mit.edu>2019-04-02 17:51:17 -0400
commitef3ce824f87fd11eed78a13a884579499a8ffc53 (patch)
treea6af1f34cffc7dedee718e263f6e5d2751eaf28c /src/Util/ZUtil/Definitions.v
parentbacfa270c0c492ef8518d360d87e46cee292474f (diff)
Add Z.combine_at_bitwidth
Diffstat (limited to 'src/Util/ZUtil/Definitions.v')
-rw-r--r--src/Util/ZUtil/Definitions.v3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Util/ZUtil/Definitions.v b/src/Util/ZUtil/Definitions.v
index 8fe5772f5..a5ac1a95b 100644
--- a/src/Util/ZUtil/Definitions.v
+++ b/src/Util/ZUtil/Definitions.v
@@ -85,6 +85,9 @@ Module Z.
then mul_split_at_bitwidth (Z.log2 s) x y
else ((x * y) mod s, (x * y) / s).
+ Definition combine_at_bitwidth (bitwidth lo hi : Z) : Z
+ := lo + (hi << bitwidth).
+
(** if positive, round up to 2^k-1 (0b11111....); if negative, round down to -2^k (0b...111000000...) *)
Definition round_lor_land_bound (x : Z) : Z
:= if (0 <=? x)%Z