Gromacs  2026.0-dev-20250418-2a07af2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
boundingboxdistance.h File Reference
#include "config.h"
#include "gromacs/simd/simd.h"
#include "gromacs/utility/gmxassert.h"
#include "boundingbox.h"
#include "boundingbox_simd.h"
+ Include dependency graph for boundingboxdistance.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares and defines functions for computing distances between bounding boxes.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

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