diff options
Diffstat (limited to 'libc/utils')
-rw-r--r-- | libc/utils/MPFRWrapper/MPFRUtils.cpp | 35 | ||||
-rw-r--r-- | libc/utils/hdrgen/hdrgen/header.py | 5 |
2 files changed, 38 insertions, 2 deletions
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp index ae12a83..57e818c 100644 --- a/libc/utils/MPFRWrapper/MPFRUtils.cpp +++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp @@ -411,6 +411,21 @@ template void explain_binary_operation_one_output_error( #endif template void explain_binary_operation_one_output_error( Operation, const BinaryInput<bfloat16> &, bfloat16, double, RoundingMode); +template void +explain_binary_operation_one_output_error(Operation, const BinaryInput<float> &, + bfloat16, double, RoundingMode); +template void explain_binary_operation_one_output_error( + Operation, const BinaryInput<double> &, bfloat16, double, RoundingMode); +template void +explain_binary_operation_one_output_error(Operation, + const BinaryInput<long double> &, + bfloat16, double, RoundingMode); +#if defined(LIBC_TYPES_HAS_FLOAT128) && \ + defined(LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE) +template void explain_binary_operation_one_output_error( + Operation, const BinaryInput<float128> &, bfloat16, double, RoundingMode); +#endif // defined(LIBC_TYPES_HAS_FLOAT128) && + // defined(LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE) template <typename InputType, typename OutputType> void explain_ternary_operation_one_output_error( @@ -648,6 +663,26 @@ template bool compare_binary_operation_one_output(Operation, const BinaryInput<bfloat16> &, bfloat16, double, RoundingMode); + +template bool compare_binary_operation_one_output(Operation, + const BinaryInput<float> &, + bfloat16, double, + RoundingMode); +template bool compare_binary_operation_one_output(Operation, + const BinaryInput<double> &, + bfloat16, double, + RoundingMode); +template bool +compare_binary_operation_one_output(Operation, const BinaryInput<long double> &, + bfloat16, double, RoundingMode); +#if defined(LIBC_TYPES_HAS_FLOAT128) && \ + defined(LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE) +template bool compare_binary_operation_one_output(Operation, + const BinaryInput<float128> &, + bfloat16, double, + RoundingMode); +#endif // defined(LIBC_TYPES_HAS_FLOAT128) && + // defined(LIBC_TYPES_FLOAT128_IS_NOT_LONG_DOUBLE) template <typename InputType, typename OutputType> bool compare_ternary_operation_one_output(Operation op, const TernaryInput<InputType> &input, diff --git a/libc/utils/hdrgen/hdrgen/header.py b/libc/utils/hdrgen/hdrgen/header.py index b054ed4..2118db6 100644 --- a/libc/utils/hdrgen/hdrgen/header.py +++ b/libc/utils/hdrgen/hdrgen/header.py @@ -204,7 +204,7 @@ class HeaderFile: current_guard = None for function in self.functions: - if function.guard == None: + if function.guard == None and current_guard == None: content.append(str(function) + " __NOEXCEPT;") content.append("") else: @@ -221,7 +221,8 @@ class HeaderFile: content.append(f"#endif // {current_guard}") content.append("") current_guard = function.guard - content.append(f"#ifdef {current_guard}") + if current_guard is not None: + content.append(f"#ifdef {current_guard}") content.append(str(function) + " __NOEXCEPT;") content.append("") if current_guard != None: |