aboutsummaryrefslogtreecommitdiff
path: root/lib/std/math/big.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-05-01 17:35:52 -0400
committerGitHub <noreply@github.com>2020-05-01 17:35:52 -0400
commit3386bb896d071eef4ff571fac399e18b2270a382 (patch)
treec3e597506a6f5a41269acdd386fd87bd473cdaa9 /lib/std/math/big.zig
parent94b0d0e80242563f4ad7ad41e3c0f5193a60b70c (diff)
parentec6ef86219578822fd32bbe2e5eb83b24ddfdca6 (diff)
downloadzig-3386bb896d071eef4ff571fac399e18b2270a382.tar.gz
zig-3386bb896d071eef4ff571fac399e18b2270a382.zip
Merge pull request #5192 from ziglang/stage2-tests
add ZIR compare output test case to test suite
Diffstat (limited to 'lib/std/math/big.zig')
-rw-r--r--lib/std/math/big.zig27
1 files changed, 22 insertions, 5 deletions
diff --git a/lib/std/math/big.zig b/lib/std/math/big.zig
index 8105beb506..ab651c05c6 100644
--- a/lib/std/math/big.zig
+++ b/lib/std/math/big.zig
@@ -1,7 +1,24 @@
-pub usingnamespace @import("big/int.zig");
-pub usingnamespace @import("big/rational.zig");
+const std = @import("../std.zig");
+const assert = std.debug.assert;
-test "math.big" {
- _ = @import("big/int.zig");
- _ = @import("big/rational.zig");
+pub const Rational = @import("big/rational.zig").Rational;
+pub const int = @import("big/int.zig");
+pub const Limb = usize;
+pub const DoubleLimb = std.meta.IntType(false, 2 * Limb.bit_count);
+pub const SignedDoubleLimb = std.meta.IntType(true, DoubleLimb.bit_count);
+pub const Log2Limb = std.math.Log2Int(Limb);
+
+comptime {
+ assert(std.math.floorPowerOfTwo(usize, Limb.bit_count) == Limb.bit_count);
+ assert(Limb.bit_count <= 64); // u128 set is unsupported
+ assert(Limb.is_signed == false);
+}
+
+test "" {
+ _ = int;
+ _ = Rational;
+ _ = Limb;
+ _ = DoubleLimb;
+ _ = SignedDoubleLimb;
+ _ = Log2Limb;
}