libc: Export truncl
With the usual caveat of it being wrong for targets where c_longdouble is not f128.
This commit is contained in:
@@ -21,6 +21,10 @@ pub fn trunc(x: anytype) @TypeOf(x) {
|
||||
f32 => trunc32(x),
|
||||
f64 => trunc64(x),
|
||||
f128 => trunc128(x),
|
||||
|
||||
// TODO this is not correct for some targets
|
||||
c_longdouble => @floatCast(c_longdouble, trunc128(x)),
|
||||
|
||||
else => @compileError("trunc not implemented for " ++ @typeName(T)),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -763,6 +763,13 @@ export fn truncf(a: f32) f32 {
|
||||
return math.trunc(a);
|
||||
}
|
||||
|
||||
export fn truncl(a: c_longdouble) c_longdouble {
|
||||
if (!long_double_is_f128) {
|
||||
@panic("TODO implement this");
|
||||
}
|
||||
return math.trunc(a);
|
||||
}
|
||||
|
||||
export fn round(a: f64) f64 {
|
||||
return math.round(a);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user