| ... | @@ -66,9 +66,9 @@ | ... | @@ -66,9 +66,9 @@ |
| 66 | #endif | 66 | #endif |
| 67 | | 67 | |
| 68 | #if defined(__cplusplus) | 68 | #if defined(__cplusplus) |
| 69 | #define zig_extern_c extern "C" | 69 | #define zig_extern extern "C" |
| 70 | #else | 70 | #else |
| 71 | #define zig_extern_c | 71 | #define zig_extern extern |
| 72 | #endif | 72 | #endif |
| 73 | | 73 | |
| 74 | #if zig_has_builtin(debugtrap) | 74 | #if zig_has_builtin(debugtrap) |
| ... | @@ -265,8 +265,8 @@ typedef int64_t zig_i64; | ... | @@ -265,8 +265,8 @@ typedef int64_t zig_i64; |
| 265 | #define zig_compiler_rt_abbrev_f80 xf | 265 | #define zig_compiler_rt_abbrev_f80 xf |
| 266 | #define zig_compiler_rt_abbrev_f128 tf | 266 | #define zig_compiler_rt_abbrev_f128 tf |
| 267 | | 267 | |
| 268 | zig_extern_c void *memcpy (void *zig_restrict, void const *zig_restrict, zig_usize); | 268 | zig_extern void *memcpy (void *zig_restrict, void const *zig_restrict, zig_usize); |
| 269 | zig_extern_c void *memset (void *, int, zig_usize); | 269 | zig_extern void *memset (void *, int, zig_usize); |
| 270 | | 270 | |
| 271 | /* ==================== 8/16/32/64-bit Integer Routines ===================== */ | 271 | /* ==================== 8/16/32/64-bit Integer Routines ===================== */ |
| 272 | | 272 | |
| ... | @@ -279,24 +279,21 @@ zig_extern_c void *memset (void *, int, zig_usize); | ... | @@ -279,24 +279,21 @@ zig_extern_c void *memset (void *, int, zig_usize); |
| 279 | static inline zig_##Type zig_##operation##_##Type(zig_##Type lhs, zig_##RhsType rhs) { \ | 279 | static inline zig_##Type zig_##operation##_##Type(zig_##Type lhs, zig_##RhsType rhs) { \ |
| 280 | return lhs operator rhs; \ | 280 | return lhs operator rhs; \ |
| 281 | } | 281 | } |
| 282 | #define zig_int_operators(w) \ | 282 | #define zig_int_basic_operator(Type, operation, operator) \ |
| 283 | zig_int_operator(u##w, u##w, and, &) \ | 283 | zig_int_operator(Type, Type, operation, operator) |
| 284 | zig_int_operator(i##w, i##w, and, &) \ | 284 | #define zig_int_shift_operator(Type, operation, operator) \ |
| 285 | zig_int_operator(u##w, u##w, or, |) \ | 285 | zig_int_operator(Type, u8, operation, operator) |
| 286 | zig_int_operator(i##w, i##w, or, |) \ | | |
| 287 | zig_int_operator(u##w, u##w, xor, ^) \ | | |
| 288 | zig_int_operator(i##w, i##w, xor, ^) \ | | |
| 289 | zig_int_operator(u##w, u8, shl, <<) \ | | |
| 290 | zig_int_operator(i##w, u8, shl, <<) \ | | |
| 291 | zig_int_operator(u##w, u8, shr, >>) \ | | |
| 292 | zig_int_operator(u##w, u##w, div_floor, /) \ | | |
| 293 | zig_int_operator(u##w, u##w, mod, %) | | |
| 294 | zig_int_operators(8) | | |
| 295 | zig_int_operators(16) | | |
| 296 | zig_int_operators(32) | | |
| 297 | zig_int_operators(64) | | |
| 298 | | | |
| 299 | #define zig_int_helpers(w) \ | 286 | #define zig_int_helpers(w) \ |
| | 287 | zig_int_basic_operator(u##w, and, &) \ |
| | 288 | zig_int_basic_operator(i##w, and, &) \ |
| | 289 | zig_int_basic_operator(u##w, or, |) \ |
| | 290 | zig_int_basic_operator(i##w, or, |) \ |
| | 291 | zig_int_basic_operator(u##w, xor, ^) \ |
| | 292 | zig_int_basic_operator(i##w, xor, ^) \ |
| | 293 | zig_int_shift_operator(u##w, shl, <<) \ |
| | 294 | zig_int_shift_operator(i##w, shl, <<) \ |
| | 295 | zig_int_shift_operator(u##w, shr, >>) \ |
| | 296 | \ |
| 300 | static inline zig_i##w zig_shr_i##w(zig_i##w lhs, zig_u8 rhs) { \ | 297 | static inline zig_i##w zig_shr_i##w(zig_i##w lhs, zig_u8 rhs) { \ |
| 301 | zig_i##w sign_mask = lhs < zig_as_i##w(0) ? -zig_as_i##w(1) : zig_as_i##w(0); \ | 298 | zig_i##w sign_mask = lhs < zig_as_i##w(0) ? -zig_as_i##w(1) : zig_as_i##w(0); \ |
| 302 | return ((lhs ^ sign_mask) >> rhs) ^ sign_mask; \ | 299 | return ((lhs ^ sign_mask) >> rhs) ^ sign_mask; \ |
| ... | @@ -319,10 +316,14 @@ zig_int_operators(64) | ... | @@ -319,10 +316,14 @@ zig_int_operators(64) |
| 319 | return (val & zig_as_u##w(1) << (bits - zig_as_u8(1))) != 0 \ | 316 | return (val & zig_as_u##w(1) << (bits - zig_as_u8(1))) != 0 \ |
| 320 | ? val | zig_minInt(i##w, bits) : val & zig_maxInt(i##w, bits); \ | 317 | ? val | zig_minInt(i##w, bits) : val & zig_maxInt(i##w, bits); \ |
| 321 | } \ | 318 | } \ |
| | 319 | \ |
| | 320 | zig_int_basic_operator(u##w, div_floor, /) \ |
| 322 | \ | 321 | \ |
| 323 | static inline zig_i##w zig_div_floor_i##w(zig_i##w lhs, zig_i##w rhs) { \ | 322 | static inline zig_i##w zig_div_floor_i##w(zig_i##w lhs, zig_i##w rhs) { \ |
| 324 | return lhs / rhs - (((lhs ^ rhs) & (lhs % rhs)) < zig_as_i##w(0)); \ | 323 | return lhs / rhs - (((lhs ^ rhs) & (lhs % rhs)) < zig_as_i##w(0)); \ |
| 325 | } \ | 324 | } \ |
| | 325 | \ |
| | 326 | zig_int_basic_operator(u##w, mod, %) \ |
| 326 | \ | 327 | \ |
| 327 | static inline zig_i##w zig_mod_i##w(zig_i##w lhs, zig_i##w rhs) { \ | 328 | static inline zig_i##w zig_mod_i##w(zig_i##w lhs, zig_i##w rhs) { \ |
| 328 | zig_i##w rem = lhs % rhs; \ | 329 | zig_i##w rem = lhs % rhs; \ |
| ... | @@ -345,7 +346,7 @@ static inline zig_bool zig_addo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ | ... | @@ -345,7 +346,7 @@ static inline zig_bool zig_addo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ |
| 345 | #endif | 346 | #endif |
| 346 | } | 347 | } |
| 347 | | 348 | |
| 348 | zig_extern_c zig_i32 __addosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); | 349 | zig_extern zig_i32 __addosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 349 | static inline zig_bool zig_addo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { | 350 | static inline zig_bool zig_addo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 350 | #if zig_has_builtin(add_overflow) | 351 | #if zig_has_builtin(add_overflow) |
| 351 | zig_i32 full_res; | 352 | zig_i32 full_res; |
| ... | @@ -371,7 +372,7 @@ static inline zig_bool zig_addo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ | ... | @@ -371,7 +372,7 @@ static inline zig_bool zig_addo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ |
| 371 | #endif | 372 | #endif |
| 372 | } | 373 | } |
| 373 | | 374 | |
| 374 | zig_extern_c zig_i64 __addodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); | 375 | zig_extern zig_i64 __addodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 375 | static inline zig_bool zig_addo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { | 376 | static inline zig_bool zig_addo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 376 | #if zig_has_builtin(add_overflow) | 377 | #if zig_has_builtin(add_overflow) |
| 377 | zig_i64 full_res; | 378 | zig_i64 full_res; |
| ... | @@ -441,7 +442,7 @@ static inline zig_bool zig_subo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ | ... | @@ -441,7 +442,7 @@ static inline zig_bool zig_subo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ |
| 441 | #endif | 442 | #endif |
| 442 | } | 443 | } |
| 443 | | 444 | |
| 444 | zig_extern_c zig_i32 __subosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); | 445 | zig_extern zig_i32 __subosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 445 | static inline zig_bool zig_subo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { | 446 | static inline zig_bool zig_subo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 446 | #if zig_has_builtin(sub_overflow) | 447 | #if zig_has_builtin(sub_overflow) |
| 447 | zig_i32 full_res; | 448 | zig_i32 full_res; |
| ... | @@ -467,7 +468,7 @@ static inline zig_bool zig_subo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ | ... | @@ -467,7 +468,7 @@ static inline zig_bool zig_subo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ |
| 467 | #endif | 468 | #endif |
| 468 | } | 469 | } |
| 469 | | 470 | |
| 470 | zig_extern_c zig_i64 __subodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); | 471 | zig_extern zig_i64 __subodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 471 | static inline zig_bool zig_subo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { | 472 | static inline zig_bool zig_subo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 472 | #if zig_has_builtin(sub_overflow) | 473 | #if zig_has_builtin(sub_overflow) |
| 473 | zig_i64 full_res; | 474 | zig_i64 full_res; |
| ... | @@ -537,7 +538,7 @@ static inline zig_bool zig_mulo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ | ... | @@ -537,7 +538,7 @@ static inline zig_bool zig_mulo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_ |
| 537 | #endif | 538 | #endif |
| 538 | } | 539 | } |
| 539 | | 540 | |
| 540 | zig_extern_c zig_i32 __mulosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); | 541 | zig_extern zig_i32 __mulosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 541 | static inline zig_bool zig_mulo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { | 542 | static inline zig_bool zig_mulo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 542 | #if zig_has_builtin(mul_overflow) | 543 | #if zig_has_builtin(mul_overflow) |
| 543 | zig_i32 full_res; | 544 | zig_i32 full_res; |
| ... | @@ -563,7 +564,7 @@ static inline zig_bool zig_mulo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ | ... | @@ -563,7 +564,7 @@ static inline zig_bool zig_mulo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_ |
| 563 | #endif | 564 | #endif |
| 564 | } | 565 | } |
| 565 | | 566 | |
| 566 | zig_extern_c zig_i64 __mulodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); | 567 | zig_extern zig_i64 __mulodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 567 | static inline zig_bool zig_mulo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { | 568 | static inline zig_bool zig_mulo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 568 | #if zig_has_builtin(mul_overflow) | 569 | #if zig_has_builtin(mul_overflow) |
| 569 | zig_i64 full_res; | 570 | zig_i64 full_res; |
| ... | @@ -1210,7 +1211,7 @@ static inline zig_bool zig_addo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, | ... | @@ -1210,7 +1211,7 @@ static inline zig_bool zig_addo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, |
| 1210 | #endif | 1211 | #endif |
| 1211 | } | 1212 | } |
| 1212 | | 1213 | |
| 1213 | zig_extern_c zig_i128 __addoti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); | 1214 | zig_extern zig_i128 __addoti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); |
| 1214 | static inline zig_bool zig_addo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { | 1215 | static inline zig_bool zig_addo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { |
| 1215 | #if zig_has_builtin(add_overflow) | 1216 | #if zig_has_builtin(add_overflow) |
| 1216 | zig_i128 full_res; | 1217 | zig_i128 full_res; |
| ... | @@ -1236,7 +1237,7 @@ static inline zig_bool zig_subo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, | ... | @@ -1236,7 +1237,7 @@ static inline zig_bool zig_subo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, |
| 1236 | #endif | 1237 | #endif |
| 1237 | } | 1238 | } |
| 1238 | | 1239 | |
| 1239 | zig_extern_c zig_i128 __suboti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); | 1240 | zig_extern zig_i128 __suboti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); |
| 1240 | static inline zig_bool zig_subo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { | 1241 | static inline zig_bool zig_subo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { |
| 1241 | #if zig_has_builtin(sub_overflow) | 1242 | #if zig_has_builtin(sub_overflow) |
| 1242 | zig_i128 full_res; | 1243 | zig_i128 full_res; |
| ... | @@ -1262,7 +1263,7 @@ static inline zig_bool zig_mulo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, | ... | @@ -1262,7 +1263,7 @@ static inline zig_bool zig_mulo_u128(zig_u128 *res, zig_u128 lhs, zig_u128 rhs, |
| 1262 | #endif | 1263 | #endif |
| 1263 | } | 1264 | } |
| 1264 | | 1265 | |
| 1265 | zig_extern_c zig_i128 __muloti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); | 1266 | zig_extern zig_i128 __muloti4(zig_i128 lhs, zig_i128 rhs, zig_c_int *overflow); |
| 1266 | static inline zig_bool zig_mulo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { | 1267 | static inline zig_bool zig_mulo_i128(zig_i128 *res, zig_i128 lhs, zig_i128 rhs, zig_u8 bits) { |
| 1267 | #if zig_has_builtin(mul_overflow) | 1268 | #if zig_has_builtin(mul_overflow) |
| 1268 | zig_i128 full_res; | 1269 | zig_i128 full_res; |
| ... | @@ -1552,7 +1553,7 @@ typedef long double zig_c_longdouble; | ... | @@ -1552,7 +1553,7 @@ typedef long double zig_c_longdouble; |
| 1552 | #define zig_as_special_c_longdouble(sign, name, arg, repr) sign __builtin_##name##l(arg) | 1553 | #define zig_as_special_c_longdouble(sign, name, arg, repr) sign __builtin_##name##l(arg) |
| 1553 | | 1554 | |
| 1554 | #define zig_convert_builtin(ResType, operation, ArgType, version) \ | 1555 | #define zig_convert_builtin(ResType, operation, ArgType, version) \ |
| 1555 | zig_extern_c zig_##ResType zig_expand_concat(zig_expand_concat(zig_expand_concat(__##operation, \ | 1556 | zig_extern zig_##ResType zig_expand_concat(zig_expand_concat(zig_expand_concat(__##operation, \ |
| 1556 | zig_compiler_rt_abbrev_##ArgType), zig_compiler_rt_abbrev_##ResType), version)(zig_##ArgType); | 1557 | zig_compiler_rt_abbrev_##ArgType), zig_compiler_rt_abbrev_##ResType), version)(zig_##ArgType); |
| 1557 | zig_convert_builtin(f16, trunc, f32, 2) | 1558 | zig_convert_builtin(f16, trunc, f32, 2) |
| 1558 | zig_convert_builtin(f16, trunc, f64, 2) | 1559 | zig_convert_builtin(f16, trunc, f64, 2) |
| ... | @@ -1585,7 +1586,7 @@ zig_convert_builtin(f128, extend, f80, 2) | ... | @@ -1585,7 +1586,7 @@ zig_convert_builtin(f128, extend, f80, 2) |
| 1585 | } | 1586 | } |
| 1586 | | 1587 | |
| 1587 | #define zig_float_less_builtin_0(Type, operation) \ | 1588 | #define zig_float_less_builtin_0(Type, operation) \ |
| 1588 | zig_extern_c zig_i8 zig_expand_concat(zig_expand_concat(__##operation, \ | 1589 | zig_extern zig_i8 zig_expand_concat(zig_expand_concat(__##operation, \ |
| 1589 | zig_compiler_rt_abbrev_##Type), 2)(zig_##Type, zig_##Type); \ | 1590 | zig_compiler_rt_abbrev_##Type), 2)(zig_##Type, zig_##Type); \ |
| 1590 | static inline zig_i8 zig_##operation##_##Type(zig_##Type lhs, zig_##Type rhs) { \ | 1591 | static inline zig_i8 zig_##operation##_##Type(zig_##Type lhs, zig_##Type rhs) { \ |
| 1591 | return (zig_i8)zig_expand_concat(zig_expand_concat(__##operation, zig_compiler_rt_abbrev_##Type), 2)(lhs, rhs); \ | 1592 | return (zig_i8)zig_expand_concat(zig_expand_concat(__##operation, zig_compiler_rt_abbrev_##Type), 2)(lhs, rhs); \ |
| ... | @@ -1603,7 +1604,7 @@ zig_convert_builtin(f128, extend, f80, 2) | ... | @@ -1603,7 +1604,7 @@ zig_convert_builtin(f128, extend, f80, 2) |
| 1603 | } | 1604 | } |
| 1604 | | 1605 | |
| 1605 | #define zig_float_binary_builtin_0(Type, operation, operator) \ | 1606 | #define zig_float_binary_builtin_0(Type, operation, operator) \ |
| 1606 | zig_extern_c zig_##Type zig_expand_concat(zig_expand_concat(__##operation, \ | 1607 | zig_extern zig_##Type zig_expand_concat(zig_expand_concat(__##operation, \ |
| 1607 | zig_compiler_rt_abbrev_##Type), 3)(zig_##Type, zig_##Type); \ | 1608 | zig_compiler_rt_abbrev_##Type), 3)(zig_##Type, zig_##Type); \ |
| 1608 | static inline zig_##Type zig_##operation##_##Type(zig_##Type lhs, zig_##Type rhs) { \ | 1609 | static inline zig_##Type zig_##operation##_##Type(zig_##Type lhs, zig_##Type rhs) { \ |
| 1609 | return zig_expand_concat(zig_expand_concat(__##operation, zig_compiler_rt_abbrev_##Type), 3)(lhs, rhs); \ | 1610 | return zig_expand_concat(zig_expand_concat(__##operation, zig_compiler_rt_abbrev_##Type), 3)(lhs, rhs); \ |
| ... | @@ -1638,24 +1639,24 @@ zig_convert_builtin(f128, extend, f80, 2) | ... | @@ -1638,24 +1639,24 @@ zig_convert_builtin(f128, extend, f80, 2) |
| 1638 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, sub, -) \ | 1639 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, sub, -) \ |
| 1639 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, mul, *) \ | 1640 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, mul, *) \ |
| 1640 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, div, /) \ | 1641 | zig_expand_concat(zig_float_binary_builtin_, zig_has_##Type)(Type, div, /) \ |
| 1641 | zig_extern_c zig_##Type zig_libc_name_##Type(sqrt)(zig_##Type); \ | 1642 | zig_extern zig_##Type zig_libc_name_##Type(sqrt)(zig_##Type); \ |
| 1642 | zig_extern_c zig_##Type zig_libc_name_##Type(sin)(zig_##Type); \ | 1643 | zig_extern zig_##Type zig_libc_name_##Type(sin)(zig_##Type); \ |
| 1643 | zig_extern_c zig_##Type zig_libc_name_##Type(cos)(zig_##Type); \ | 1644 | zig_extern zig_##Type zig_libc_name_##Type(cos)(zig_##Type); \ |
| 1644 | zig_extern_c zig_##Type zig_libc_name_##Type(tan)(zig_##Type); \ | 1645 | zig_extern zig_##Type zig_libc_name_##Type(tan)(zig_##Type); \ |
| 1645 | zig_extern_c zig_##Type zig_libc_name_##Type(exp)(zig_##Type); \ | 1646 | zig_extern zig_##Type zig_libc_name_##Type(exp)(zig_##Type); \ |
| 1646 | zig_extern_c zig_##Type zig_libc_name_##Type(exp2)(zig_##Type); \ | 1647 | zig_extern zig_##Type zig_libc_name_##Type(exp2)(zig_##Type); \ |
| 1647 | zig_extern_c zig_##Type zig_libc_name_##Type(log)(zig_##Type); \ | 1648 | zig_extern zig_##Type zig_libc_name_##Type(log)(zig_##Type); \ |
| 1648 | zig_extern_c zig_##Type zig_libc_name_##Type(log2)(zig_##Type); \ | 1649 | zig_extern zig_##Type zig_libc_name_##Type(log2)(zig_##Type); \ |
| 1649 | zig_extern_c zig_##Type zig_libc_name_##Type(log10)(zig_##Type); \ | 1650 | zig_extern zig_##Type zig_libc_name_##Type(log10)(zig_##Type); \ |
| 1650 | zig_extern_c zig_##Type zig_libc_name_##Type(fabs)(zig_##Type); \ | 1651 | zig_extern zig_##Type zig_libc_name_##Type(fabs)(zig_##Type); \ |
| 1651 | zig_extern_c zig_##Type zig_libc_name_##Type(floor)(zig_##Type); \ | 1652 | zig_extern zig_##Type zig_libc_name_##Type(floor)(zig_##Type); \ |
| 1652 | zig_extern_c zig_##Type zig_libc_name_##Type(ceil)(zig_##Type); \ | 1653 | zig_extern zig_##Type zig_libc_name_##Type(ceil)(zig_##Type); \ |
| 1653 | zig_extern_c zig_##Type zig_libc_name_##Type(round)(zig_##Type); \ | 1654 | zig_extern zig_##Type zig_libc_name_##Type(round)(zig_##Type); \ |
| 1654 | zig_extern_c zig_##Type zig_libc_name_##Type(trunc)(zig_##Type); \ | 1655 | zig_extern zig_##Type zig_libc_name_##Type(trunc)(zig_##Type); \ |
| 1655 | zig_extern_c zig_##Type zig_libc_name_##Type(fmod)(zig_##Type, zig_##Type); \ | 1656 | zig_extern zig_##Type zig_libc_name_##Type(fmod)(zig_##Type, zig_##Type); \ |
| 1656 | zig_extern_c zig_##Type zig_libc_name_##Type(fmin)(zig_##Type, zig_##Type); \ | 1657 | zig_extern zig_##Type zig_libc_name_##Type(fmin)(zig_##Type, zig_##Type); \ |
| 1657 | zig_extern_c zig_##Type zig_libc_name_##Type(fmax)(zig_##Type, zig_##Type); \ | 1658 | zig_extern zig_##Type zig_libc_name_##Type(fmax)(zig_##Type, zig_##Type); \ |
| 1658 | zig_extern_c zig_##Type zig_libc_name_##Type(fma)(zig_##Type, zig_##Type, zig_##Type); \ | 1659 | zig_extern zig_##Type zig_libc_name_##Type(fma)(zig_##Type, zig_##Type, zig_##Type); \ |
| 1659 | \ | 1660 | \ |
| 1660 | static inline zig_##Type zig_div_trunc_##Type(zig_##Type lhs, zig_##Type rhs) { \ | 1661 | static inline zig_##Type zig_div_trunc_##Type(zig_##Type lhs, zig_##Type rhs) { \ |
| 1661 | return zig_libc_name_##Type(trunc)(zig_div_##Type(lhs, rhs)); \ | 1662 | return zig_libc_name_##Type(trunc)(zig_div_##Type(lhs, rhs)); \ |