Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Typedefs | Functions
extensions.h File Reference
#include <algorithm>
#include <functional>
#include "gromacs/mdspan/mdspan.h"
+ Include dependency graph for extensions.h:
+ This graph shows which files directly or indirectly include this file:

Description

GROMACS extensions to mdspan.

Author
Christian Blau cblau.nosp@m.@gwd.nosp@m.g.de

Typedefs

using gmx::dynamicExtents2D = extents< dynamic_extent, dynamic_extent >
 Convenience type for often-used two dimensional extents.
 
using gmx::dynamicExtents3D = extents< dynamic_extent, dynamic_extent, dynamic_extent >
 Convenience type for often-used three dimensional extents.
 

Functions

template<class BasicMdspan >
constexpr std::enable_if_t
< BasicMdspan::is_always_contiguous(),
typename BasicMdspan::pointer > 
gmx::begin (const BasicMdspan &basicMdspan)
 Free begin function addressing memory of a contiguously laid out basic_mdspan. More...
 
template<class BasicMdspan >
constexpr std::enable_if_t
< BasicMdspan::is_always_contiguous(),
typename BasicMdspan::pointer > 
gmx::end (const BasicMdspan &basicMdspan)
 Free end function addressing memory of a contiguously laid out basic_mdspan. More...
 
template<class BasicMdspan >
constexpr BasicMdspan gmx::addElementwise (const BasicMdspan &span1, const BasicMdspan &span2)
 Elementwise addition.
 
template<class BasicMdspan >
constexpr BasicMdspan gmx::subtractElementwise (const BasicMdspan &span1, const BasicMdspan &span2)
 Elementwise subtraction - left minus right.
 
template<class BasicMdspan >
constexpr BasicMdspan gmx::multiplyElementwise (const BasicMdspan &span1, const BasicMdspan &span2)
 Elementwise multiplication.
 
template<class BasicMdspan >
constexpr BasicMdspan gmx::divideElementwise (const BasicMdspan &span1, const BasicMdspan &span2)
 Elementwise division - left / right.