20 Throw(ERROR__NON_POSITIVE_NUMBER);
28 for(dim_i = 0; dim_i < nDim; ++dim_i)
31 pDim[dim_i] = dims[dim_i];
33 Throw(ERROR__NON_POSITIVE_NUMBER);
34 mem_size *= dims[dim_i];
38 pStorage =
new T[mem_size];
55 int *iCur = (
int*) alloca(nDim);
61 for(dim_i = 1; dim_i < nDim; ++dim_i)
62 iCur[dim_i] = va_arg(val,
int);
65 return lin_index(iCur);
81 for(dim_i = 0; dim_i < nDim; ++dim_i)
82 if(i[dim_i] < 0 || i[dim_i] >= pDim[dim_i])
83 Throw(ERROR__DA_OUT_OF_RANGE);
84 else if(nDim - 1 == dim_i)
89 li *= pDim[dim_i + 1];
93 for(dim_i = nDim - 1; dim_i >= 0; --dim_i)
94 if(i[dim_i] < 0 || i[dim_i] >= pDim[dim_i])
95 Throw(ERROR__DA_OUT_OF_RANGE);
101 li *= pDim[dim_i - 1];
122 for(dim_i = 0; dim_i < dim_n; ++dim_i)
123 mem_size *= dims[dim_i];
137 memset(pStorage, 0,
sizeof(T) * items_number(nDim, pDim));
149 int i, n = items_number(nDim, pDim);
150 for(i = 0; i < n; ++i)
Definition: CubeStorage.H:48