diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-04-27 12:41:05 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-04-28 18:35:01 +0200 |
| commit | c1a98cd65d48693c9cfce5fbc5e5f5a1dbf4c1b7 (patch) | |
| tree | 198ff979342674e87ae14d1e2bf67cb833c42f33 /test/incremental/assert_function.11.zig | |
| parent | 46db5e2a44b38c92e97a438c4b6a67627cc12d16 (diff) | |
| download | zig-c1a98cd65d48693c9cfce5fbc5e5f5a1dbf4c1b7.tar.gz zig-c1a98cd65d48693c9cfce5fbc5e5f5a1dbf4c1b7.zip | |
test: set case name from initial filename for a sequence
Port more incremental tests.
Diffstat (limited to 'test/incremental/assert_function.11.zig')
| -rw-r--r-- | test/incremental/assert_function.11.zig | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/incremental/assert_function.11.zig b/test/incremental/assert_function.11.zig new file mode 100644 index 0000000000..d64130a677 --- /dev/null +++ b/test/incremental/assert_function.11.zig @@ -0,0 +1,66 @@ +pub fn main() void { + assert(add(3, 4) == 1221); + assert(mul(3, 4) == 21609); +} + +fn add(a: u32, b: u32) u32 { + const x: u32 = blk: { + const c = a + b; // 7 + const d = a + c; // 10 + const e = d + b; // 14 + const f = d + e; // 24 + const g = e + f; // 38 + const h = f + g; // 62 + const i = g + h; // 100 + const j = i + d; // 110 + const k = i + j; // 210 + const l = j + k; // 320 + const m = l + c; // 327 + const n = m + d; // 337 + const o = n + e; // 351 + const p = o + f; // 375 + const q = p + g; // 413 + const r = q + h; // 475 + const s = r + i; // 575 + const t = s + j; // 685 + const u = t + k; // 895 + const v = u + l; // 1215 + break :blk v; + }; + const y = x + a; // 1218 + const z = y + a; // 1221 + return z; +} + +fn mul(a: u32, b: u32) u32 { + const x: u32 = blk: { + const c = a * a * a * a; // 81 + const d = a * a * a * b; // 108 + const e = a * a * b * a; // 108 + const f = a * a * b * b; // 144 + const g = a * b * a * a; // 108 + const h = a * b * a * b; // 144 + const i = a * b * b * a; // 144 + const j = a * b * b * b; // 192 + const k = b * a * a * a; // 108 + const l = b * a * a * b; // 144 + const m = b * a * b * a; // 144 + const n = b * a * b * b; // 192 + const o = b * b * a * a; // 144 + const p = b * b * a * b; // 192 + const q = b * b * b * a; // 192 + const r = b * b * b * b; // 256 + const s = c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r; // 2401 + break :blk s; + }; + const y = x * a; // 7203 + const z = y * a; // 21609 + return z; +} + +pub fn assert(ok: bool) void { + if (!ok) unreachable; // assertion failure +} + +// run +// |
