| ... | ... | @@ -13,6 +13,8 @@ comptime { |
| 13 | 13 | @export(&__sqrtx, .{ .name = "__sqrtx", .linkage = common.linkage, .visibility = common.visibility }); |
| 14 | 14 | if (common.want_ppc_abi) { |
| 15 | 15 | @export(&sqrtq, .{ .name = "sqrtf128", .linkage = common.linkage, .visibility = common.visibility }); |
| 16 | } else if (common.want_sparc_abi) { |
| 17 | @export(&_Qp_sqrt, .{ .name = "_Qp_sqrt", .linkage = common.linkage, .visibility = common.visibility }); |
| 16 | 18 | } |
| 17 | 19 | @export(&sqrtq, .{ .name = "sqrtq", .linkage = common.linkage, .visibility = common.visibility }); |
| 18 | 20 | @export(&sqrtl, .{ .name = "sqrtl", .linkage = common.linkage, .visibility = common.visibility }); |
| ... | ... | @@ -242,6 +244,10 @@ pub fn sqrtq(x: f128) callconv(.C) f128 { |
| 242 | 244 | return sqrt(@floatCast(x)); |
| 243 | 245 | } |
| 244 | 246 | |
| 247 | fn _Qp_sqrt(c: *f128, a: *f128) callconv(.c) void { |
| 248 | c.* = sqrt(@floatCast(a.*)); |
| 249 | } |
| 250 | |
| 245 | 251 | pub fn sqrtl(x: c_longdouble) callconv(.C) c_longdouble { |
| 246 | 252 | switch (@typeInfo(c_longdouble).float.bits) { |
| 247 | 253 | 16 => return __sqrth(x), |