Gromacs
2026.0-dev-20241106-9ba7f4d
|
#include "config.h"
#include <cstdint>
#include <limits>
#include <ostream>
#include <vector>
#include <gtest/gtest.h>
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/real.h"
Declares common base class for testing SIMD and SIMD4.
The base class contains the settings for absolute and ulp tolerances, as well as testing ranges used for both SIMD and SIMD4 tests, mainly to keep everything symmetric and clean. The class also defines a couple of generic tests that compare vectors of elements with arbitrary length for either exact or approximate matching (in terms of ulp). These are used in derived classes that convert either SIMD or SIMD4 values to std::vector<real> and then performs the comparison.
Classes | |
class | gmx::test::SimdBaseTest |
Base class for SIMD test fixtures. More... | |
Macros | |
#define | GMX_SIMD_ACCURACY_BITS_REAL (GMX_DOUBLE ? GMX_SIMD_ACCURACY_BITS_DOUBLE : GMX_SIMD_ACCURACY_BITS_SINGLE) |
Test-time utility macro for current precision accuracy. More... | |
#define GMX_SIMD_ACCURACY_BITS_REAL (GMX_DOUBLE ? GMX_SIMD_ACCURACY_BITS_DOUBLE : GMX_SIMD_ACCURACY_BITS_SINGLE) |
Test-time utility macro for current precision accuracy.