Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

fixunstfdi.zig

File

lib/compiler_rt/fixunstfdi.zig

Code

const compiler_rt = @import("../compiler_rt.zig");
const symbol = compiler_rt.symbol;
const intFromFloat = @import("./int_from_float.zig").intFromFloat;

comptime {
    if (compiler_rt.want_ppc_abi) {
        symbol(&__fixunstfdi, "__fixunskfdi");
    } else if (compiler_rt.want_sparc64_abi) {
        symbol(&_Qp_qtoux, "_Qp_qtoux");
    } else if (compiler_rt.want_sparc32_abi) {
        symbol(&__fixunstfdi, "_Q_qtoull");
    }
    symbol(&__fixunstfdi, "__fixunstfdi");
}

pub fn __fixunstfdi(a: f128) callconv(.c) u64 {
    return intFromFloat(u64, a);
}

fn _Qp_qtoux(a: *const f128) callconv(.c) u64 {
    return intFromFloat(u64, a.*);
}