atlas/array/IndexView.h file

This file contains the IndexView class, a class that allows to wrap any contiguous raw data into a view which is accessible with multiple indices. This view is intended to work with Connectivity Tables storing Fortran Numbering internally All it needs is the strides for each index, and the shape of each index. ATTENTION: The last index is stride 1

Bounds-checking can be turned ON by defining "ATLAS_INDEXVIEW_BOUNDS_CHECKING" before including this header.

Example: int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9}; idx_t[2] strides = { 3, 1 }; idx_t[2] shape = { 3, 3 }; IndexView<int,2> matrix( array, strides, shape ); for( idx_t i=0; i<matrix.shape(0); ++i ) { for( idx_t j=0; j<matrix.shape(1); ++j ) { matrix(i,j) *= 10; } }

There is also an easier way to wrap Field and Array classes: IndexView<int,3> fieldview( Field ); IndexView<int,2> INDEXVIEW( Array );

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.