| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.21 Rearrange data (Pure C)
- C function:
voidmgl_data_rearrange (HMDTdat,intmx,intmy,intmz) Rearrange dimensions without changing data array so that resulting sizes should be mx*my*mz < nx*ny*nz. If some of parameter my or mz are zero then it will be selected to optimal fill of data array. For example, if my=0 then it will be change to my=nx*ny*nz/mx and mz will be 1.
- C function:
voidmgl_data_extend (HMDTdat,intn1,intn2) Increase the dimensions of the data by inserting new (|n1|+1)-th slices after (for n1>0) or before (for n1<0) of existed one. It is possible to insert 2 dimensions simultaneously for 1d data by using parameter n2. Data to new slices is copy from existed one. For example, for n1>0 new array will be a_ij^new = a_i^old where j=0...n1. Correspondingly, for n1<0 new array will be a_ij^new = a_j^old where i=0...|n1|.
- C function:
voidmgl_data_transpose (const char *dim) Transposes (shift order of) dimensions of the data. New order of dimensions is specified int string dim. This function may be useful also for the reading of one-dimensional data.
- C function:
voidmgl_data_squeeze (HMDTdat,intrx,intry,intrz,intsmooth) Reduces the data size by excluding data elements which indexes are not divisible by rx, ry, rz correspondingly.
- C function:
voidmgl_data_crop (HMDTdat,intn1,intn2,chardir) Cuts off edges of the data i<n1 and i>n2 if n2>0 or i>
n[xyz]-n2 if n2<=0 along direction dir.
