Gromacs
2026.0-dev-20250418-2a07af2
|
#include "config.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/gmxassert.h"
#include "boundingbox.h"
#include "boundingbox_simd.h"
Declares and defines functions for computing distances between bounding boxes.
Functions | |
template<typename T > | |
static std::enable_if_t < std::is_same_v< T, gmx::BasicVector< float > >, gmx::BasicVector< float > > | gmx::loadBoundingBoxCorner (const BoundingBox::Corner &corner) |
Loads a corner of a bounding box into a float vector. | |
static gmx::BasicVector< float > | gmx::max (const gmx::BasicVector< float > &v1, const gmx::BasicVector< float > &v2) |
Return the element-wise max of two 3-float vectors, needed to share code with SIMD. | |
static float | gmx::dotProduct (const gmx::BasicVector< float > &v1, const gmx::BasicVector< float > &v2) |
Return the dot product of two 3-float vectors, needed to share code with SIMD. | |
static float | gmx::clusterBoundingBoxDistance2 (const BoundingBox &bb_i, const BoundingBox &bb_j) |
Returns the distance^2 between two bounding boxes. More... | |
static gmx_unused void | gmx::clusterBoundingBoxDistance2_xxxx_simd4 (const float *, const int, const float *, float *) |
4-wide SIMD code for nsi bb distances for bb format xxxxyyyyzzzz | |