mdspan - extents of multidimensional arrays.
commitb65cb8f0c1ffa63a48b73b9e9d77095804a97aec
authorChristian Blau <cblau@gwdg.de>
Tue, 4 Dec 2018 10:46:31 +0000 (4 11:46 +0100)
committerErik Lindahl <erik.lindahl@gmail.com>
Tue, 4 Dec 2018 15:50:36 +0000 (4 16:50 +0100)
tree12b61666058f18df98b3a1178f5cb331b2067b9b
parent2ea2d842570eb9b9bf83e15c650646110d45df19
mdspan - extents of multidimensional arrays.

Extents describe the number of elements along a certain dimension, a
multidimensional index space of rank R. This is equivalent to the
Cartesian product space of integer intervals [0, N_0) x [0, N_1) x ... x
[0,N_{R-1} )

The extents class distinguishes between extents known at compile time
(static) or at run time (dynamic). Static extents are templated to allow
compile time indexing evaluation (part of later patch).

Confer to P0009r8 of the Library Evolution Working Group and
mdspan.extents

Source code copied and modified from Oakridge National Labs repository.

https://github.com/ORNL/cpp-proposals-pub/tree/master/P0009/reference-implementation/include/experimental/bits

Refers #2281

Change-Id: I5301f172fa1d891bcf929a70e3765a2c52b3d8b8
COPYING
src/gromacs/mdspan/README
src/gromacs/mdspan/extents.h [new file with mode: 0644]
src/gromacs/mdspan/tests/CMakeLists.txt
src/gromacs/mdspan/tests/extents.cpp [new file with mode: 0644]