mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 14:23:09 +00:00
Also, accepting `align(1)` pointers ensures that the alignment is safety checked rather than assumed.
16 lines
563 B
Zig
16 lines
563 B
Zig
const std = @import("std");
|
|
const builtin = @import("builtin");
|
|
const common = @import("common.zig");
|
|
const bigIntFromFloat = @import("int_from_float.zig").bigIntFromFloat;
|
|
|
|
pub const panic = common.panic;
|
|
|
|
comptime {
|
|
@export(&__fixsfei, .{ .name = "__fixsfei", .linkage = common.linkage, .visibility = common.visibility });
|
|
}
|
|
|
|
pub fn __fixsfei(r: [*]u8, bits: usize, a: f32) callconv(.c) void {
|
|
const byte_size = std.zig.target.intByteSize(builtin.target, @intCast(bits));
|
|
return bigIntFromFloat(.signed, @ptrCast(@alignCast(r[0..byte_size])), a);
|
|
}
|