Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions | Variables
gmx::detail Namespace Reference

Description

Client software developers do not interact directly with the contents of gmx::detail, but some declarations and definitions are necessary in the public headers, such as forward declarations of implementation classes and definitions of custom deleters.

Classes

struct  PaddingTraits
 Traits classes for handling padding for types used with PaddedVector. More...
 
struct  SimulationInputHandleImplDeleter
 Explicit deleter details for SimulationInputHolderImpl. More...
 
struct  extents_analyse< R, E0, StaticExtents...>
 Enable querying extent of specific rank by splitting a static extents off the variadic template arguments. More...
 
struct  extents_analyse< R, dynamic_extent, StaticExtents...>
 Enable querying extent of specific rank by splitting a dynamic extent off the variadic template arguments. More...
 
struct  extents_analyse< 0 >
 Specialisation for rank 0 extents analysis. Ends recursive rank analysis. More...
 

Typedefs

template<class... >
using void_t = void
 Same as std::void_t from C++17.
 

Functions

template<typename T >
Index computePaddedSize (Index numElements)
 Returns the allocation size for PaddedVector that contains numElements elements plus padding for SIMD operations. More...
 
template<typename T , typename AllocatorType >
void insertPaddingElements (std::vector< T, AllocatorType > *v, Index newPaddedSize)
 Helper function to insert padding elements for most T.
 
template<typename T , typename AllocatorType >
void insertPaddingElements (std::vector< BasicVector< T >, AllocatorType > *v, Index newPaddedSize)
 Specialization of helper function to insert padding elements, used for BasicVector<T>.
 

Variables

constexpr double c_largeNegativeExponent = -10000.0
 A value that can be passed to exp() with result 0, also with SIMD.
 
constexpr double c_largePositiveExponent = 700.0
 The largest acceptable positive exponent for variables that are passed to exp().
 
template<typename T >
constexpr bool is_resizable_v = is_resizable<T>::value
 Type has a resize member function callable with size_t argument.
 
constexpr int c_nBoxZ = 2 * gmx::c_dBoxZ + 1
 
constexpr int c_nBoxY = 2 * gmx::c_dBoxY + 1
 
constexpr int c_nBoxX = 2 * gmx::c_dBoxX + 1
 
constexpr int c_numIvecs = detail::c_nBoxZ * detail::c_nBoxY * detail::c_nBoxX
 
constexpr int c_TabulatedNormalDistributionDefaultBits = 14
 Number of bits that determines the resolution of the lookup table for the normal distribution.
 

Function Documentation

template<typename T >
Index gmx::detail::computePaddedSize ( Index  numElements)

Returns the allocation size for PaddedVector that contains numElements elements plus padding for SIMD operations.

Parameters
[in]numElementsThe number of T elements for which data will be stored.
Returns
The number of T elements that must be allocated (ie >= numElements).