Tests: Compare infinities and zero signs exactly in ULP checks ulp_distance folded -0 onto +0 and put an infinity one step from the largest finite value, so every ULP budget accepted +0 for sqrt(-0), and any budget of one or more accepted overflow. An infinity is now as far as possible from any other value, and so is a zero from the zero of the other sign; the pmadd check inherits the exact zero sign. Validation: C++14, Release, seed 1. GPU parts 1, 3 and 7 pass with GCC 13.3 / NVCC 12.8 and with Clang 20 / CUDA 12.8 (-ffp-contract=fast) on an NVIDIA GeForce RTX 4070 Laptop GPU (sm_89) under WSL2. GCC 13.3 passes all 15 packetmath parts, the four special_packetmath parts and packetmath_fastmath. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/ or https://libeigen.gitlab.io.
For pull request, bug reports, and feature requests, go to https://gitlab.com/libeigen/eigen.