Gromacs  2026.0-dev-20241106-9ba7f4d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simd_math.h File Reference
#include "config.h"
#include <cmath>
#include <limits>
#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for simd_math.h:
+ This graph shows which files directly or indirectly include this file:

Description

Math functions for SIMD datatypes.

Attention
This file is generic for all SIMD architectures, so you cannot assume that any of the optional SIMD features (as defined in simd.h) are present. In particular, this means you cannot assume support for integers, logical operations (neither on floating-point nor integer values), shifts, and the architecture might only have SIMD for either float or double. Second, to keep this file clean and general, any additions to this file must work for all possible SIMD architectures in both single and double precision (if they support it), and you cannot make any assumptions about SIMD width.
Author
Erik Lindahl erik..nosp@m.lind.nosp@m.ahl@s.nosp@m.cili.nosp@m.felab.nosp@m..se