STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
|
Matrix/tensor in matrix/tensor-free form. More...
#include <starsh.h>
Data Fields | |
int | ndim |
Number of dimensions of corresponding problem. More... | |
STARSH_int * | shape |
Shape of corresponding array. More... | |
char | symm |
‘'S’if problem is symmetric, and 'N'` otherwise. | |
char | dtype |
Precision of problem and corresponding array. More... | |
size_t | dtype_size |
Size of element of array in bytes. | |
size_t | entry_size |
Size of subarray, corresponding to kernel shape, in bytes. More... | |
void * | row_data |
Pointer to data, corresponding to rows. | |
void * | col_data |
Pointer to data, corresponding to columns. | |
STARSH_kernel * | kernel |
Pointer to a kernel. More... | |
char * | name |
Name of corresponding problem. | |
Matrix/tensor in matrix/tensor-free form.
Structure, storing all the necessary data for reconstruction of array, generated by given kernel. This array may be not 2
-dimensional (e.g. for astrophysics problem, where each matrix entry is a vector of 3
elements). Array elements are not stored in memory, but computed on demand. Rows correspond to first dimension of the array and columns correspond to last dimension of the array.
char starsh_problem::dtype |
Precision of problem and corresponding array.
Possile value is ‘'s’,
'd',
'c'or
'z'`, much like in names of LAPACK routines.
size_t starsh_problem::entry_size |
Size of subarray, corresponding to kernel shape, in bytes.
Corresponds to size of subarray on a single row on a single column. Equal to size of array element, multiplied by total number of elements and divided by number of rows and number of columns.
STARSH_kernel* starsh_problem::kernel |
Pointer to a kernel.
Kernel computes elements of a submatrix on intersection of given rows and columns. Rows stand for first dimension and columns stand for last dimension.
int starsh_problem::ndim |
Number of dimensions of corresponding problem.
Real dimensionality of corresponding array. ndim=2
for problems with scalar kernel. ndim=3
for astrophysics problem. Can not be less, than 2
.
STARSH_int* starsh_problem::shape |
Shape of corresponding array.
In case of non-scalar kernel shape[0]
stands for number of rows of array, shape[ndim-1]
stands for number of columns of array and (ndim-2)
-dimensional tuple shape[1:ndim-2]
stands for kernel shape.