[committed] Implement C23 acospi

Florian Weimer fweimer@redhat.com
Thu Jan 2 10:56:00 GMT 2025


* Joseph Myers:

> C23 adds various <math.h> function families originally defined in TS
> 18661-4.  Add the acospi functions (acos(x)/pi).
>
> Tested for x86_64 and x86, and with build-many-glibcs.py.

I see these new failures on powerpc64le (POWER9), at
commit 396048fa5a41be38d196e03175ccc4bd318f4fb6:

==> math/test-double-acospi.out <==
testing double (without inline functions)
Failure: acospi (qNaN): Exception "Invalid operation" set
Failure: acospi (-qNaN): Exception "Invalid operation" set
Failure: acospi_downward (qNaN): Exception "Invalid operation" set
Failure: acospi_downward (-qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (-qNaN): Exception "Invalid operation" set
Failure: acospi_upward (qNaN): Exception "Invalid operation" set
Failure: acospi_upward (-qNaN): Exception "Invalid operation" set

Test suite completed:
  4 max error test cases,
  396 input tests,
  - with 1592 tests for exception flags,
  - with 388 tests for errno executed.
  8 errors occurred.

==> math/test-float-acospi.out <==
testing float (without inline functions)
Failure: acospi (qNaN): Exception "Invalid operation" set
Failure: acospi (-qNaN): Exception "Invalid operation" set
Failure: acospi_downward (qNaN): Exception "Invalid operation" set
Failure: acospi_downward (-qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (-qNaN): Exception "Invalid operation" set
Failure: acospi_upward (qNaN): Exception "Invalid operation" set
Failure: acospi_upward (-qNaN): Exception "Invalid operation" set

Test suite completed:
  4 max error test cases,
  300 input tests,
  - with 1208 tests for exception flags,
  - with 292 tests for errno executed.
  8 errors occurred.

==> math/test-float128-acospi.out <==
testing _Float128 (without inline functions)

Test suite completed:
  4 max error test cases,
  496 input tests,
  - with 1992 tests for exception flags,
  - with 488 tests for errno executed.
  All tests passed successfully.

==> math/test-float32-acospi.out <==
testing _Float32 (without inline functions)
Failure: acospi (qNaN): Exception "Invalid operation" set
Failure: acospi (-qNaN): Exception "Invalid operation" set
Failure: acospi_downward (qNaN): Exception "Invalid operation" set
Failure: acospi_downward (-qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (-qNaN): Exception "Invalid operation" set
Failure: acospi_upward (qNaN): Exception "Invalid operation" set
Failure: acospi_upward (-qNaN): Exception "Invalid operation" set

Test suite completed:
  4 max error test cases,
  300 input tests,
  - with 1208 tests for exception flags,
  - with 292 tests for errno executed.
  8 errors occurred.

==> math/test-float32x-acospi.out <==
testing _Float32x (without inline functions)
Failure: acospi (qNaN): Exception "Invalid operation" set
Failure: acospi (-qNaN): Exception "Invalid operation" set
Failure: acospi_downward (qNaN): Exception "Invalid operation" set
Failure: acospi_downward (-qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (-qNaN): Exception "Invalid operation" set
Failure: acospi_upward (qNaN): Exception "Invalid operation" set
Failure: acospi_upward (-qNaN): Exception "Invalid operation" set

Test suite completed:
  4 max error test cases,
  396 input tests,
  - with 1592 tests for exception flags,
  - with 388 tests for errno executed.
  8 errors occurred.

==> math/test-float64-acospi.out <==
testing _Float64 (without inline functions)
Failure: acospi (qNaN): Exception "Invalid operation" set
Failure: acospi (-qNaN): Exception "Invalid operation" set
Failure: acospi_downward (qNaN): Exception "Invalid operation" set
Failure: acospi_downward (-qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (qNaN): Exception "Invalid operation" set
Failure: acospi_towardzero (-qNaN): Exception "Invalid operation" set
Failure: acospi_upward (qNaN): Exception "Invalid operation" set
Failure: acospi_upward (-qNaN): Exception "Invalid operation" set

Test suite completed:
  4 max error test cases,
  396 input tests,
  - with 1592 tests for exception flags,
  - with 388 tests for errno executed.
  8 errors occurred.

(This is in addition to some ulps errors that are expected.)

Thanks,
Florian



More information about the Libc-alpha mailing list