Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros
#include "config.h"
#include <cstdint>
#include <limits>
#include <vector>
#include <gtest/gtest.h>
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for base.h:
+ This graph shows which files directly or indirectly include this file:

Description

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.

Author
Erik Lindahl erik..nosp@m.lind.nosp@m.ahl@s.nosp@m.cili.nosp@m.felab.nosp@m..se

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...
 

Macro Definition Documentation

#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.