authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-02-09 18:52:32-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-02-09 18:52:32-07:00
logf2f1c63daff8e47b6b901d53fd58805e54fcdf78
tree042735c2220590eb2fae9222c97c1714e62319bf
parentf5471299d81e809c706e147d2ea79c83aeb8b650

stage2: add log and logf to freestanding libc


2 files changed, 15 insertions(+), 11 deletions(-)

lib/std/special/c.zig+15-3
......@@ -17,9 +17,13 @@ comptime {
1717 if (builtin.zig_backend != .stage1) {
1818 @export(memset, .{ .name = "memset", .linkage = .Strong });
1919 @export(memcpy, .{ .name = "memcpy", .linkage = .Strong });
20
2021 @export(trunc, .{ .name = "trunc", .linkage = .Strong });
2122 @export(truncf, .{ .name = "truncf", .linkage = .Strong });
2223 @export(truncl, .{ .name = "truncl", .linkage = .Strong });
24
25 @export(log, .{ .name = "log", .linkage = .Strong });
26 @export(logf, .{ .name = "logf", .linkage = .Strong });
2327 } else {
2428 _ = @import("c_stage1.zig");
2529 }
......@@ -80,17 +84,25 @@ fn memcpy(noalias dest: ?[*]u8, noalias src: ?[*]const u8, len: usize) callconv(
8084 return dest;
8185}
8286
83fn trunc(a: f64) f64 {
87fn trunc(a: f64) callconv(.C) f64 {
8488 return math.trunc(a);
8589}
8690
87fn truncf(a: f32) f32 {
91fn truncf(a: f32) callconv(.C) f32 {
8892 return math.trunc(a);
8993}
9094
91fn truncl(a: c_longdouble) c_longdouble {
95fn truncl(a: c_longdouble) callconv(.C) c_longdouble {
9296 if (!long_double_is_f128) {
9397 @panic("TODO implement this");
9498 }
9599 return math.trunc(a);
96100}
101
102fn log(a: f64) callconv(.C) f64 {
103 return math.ln(a);
104}
105
106fn logf(a: f32) callconv(.C) f32 {
107 return math.ln(a);
108}
lib/std/special/c_stage1.zig-8
......@@ -708,14 +708,6 @@ export fn exp2f(a: f32) f32 {
708708 return math.exp2(a);
709709}
710710
711export fn log(a: f64) f64 {
712 return math.ln(a);
713}
714
715export fn logf(a: f32) f32 {
716 return math.ln(a);
717}
718
719711export fn log2(a: f64) f64 {
720712 return math.log2(a);
721713}