╭ inttypes.zig ─────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭ find file ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ ╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │ │ │http│ ssh │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
1 const builtin = @import("builtin"); 2 3 const std = @import("std"); 4 const intmax_t = std.c.intmax_t; 5 const imaxdiv_t = std.c.imaxdiv_t; 6 7 const symbol = @import("../c.zig").symbol; 8 9 comptime { 10 if (builtin.target.isMuslLibC() or builtin.target.isWasiLibC()) { 11 // Functions specific to musl and wasi-libc. 12 symbol(&imaxabs, "imaxabs"); 13 symbol(&imaxdiv, "imaxdiv"); 14 } 15 } 16 17 fn imaxabs(a: intmax_t) callconv(.c) intmax_t { 18 return @intCast(@abs(a)); 19 } 20 21 fn imaxdiv(a: intmax_t, b: intmax_t) callconv(.c) imaxdiv_t { 22 return .{ 23 .quot = @divTrunc(a, b), 24 .rem = @rem(a, b), 25 }; 26 } 27