NAME
cxLatDataNew
- create a lattice with data and no coordinates
C SPECIFICATION
#include <cx/DataAccess.h>
typedef enum {
cx_prim_byte,
cx_prim_short,
cx_prim_long,
cx_prim_float,
cx_prim_double
} cxPrimType;
cxLattice *cxLatDataNew(long nDim, long dims[],
long nDataVar, cxPrimType primType)
FORTRAN SPECIFICATION
integer cx_prim_byte
integer cx_prim_short
integer cx_prim_long
integer cx_prim_float
integer cx_prim_double
parameter (cx_prim_byte = 0)
parameter (cx_prim_short = 1)
parameter (cx_prim_long = 2)
parameter (cx_prim_float = 3)
parameter (cx_prim_double = 4)
integer function cxLatDataNew(nDim, dims, nDataVar, primType)
integer nDim, dims(nDim)
integer nDataVar, primType
PARAMETERS
-
nDim
-
Number of lattice dimensions.
-
dims
-
Array specifying length in each dimension.
-
nDataVar
-
Number of data elements at each node.
-
primType
-
Primitive data type.
FUNCTION RETURN VALUE
Returns a pointer to a new lattice structure with data, but no coordinates.
DESCRIPTION
cxLatDataNew creates a cxLattice structure
in data memory and returns a pointer to it.
The lattice created will have nDim dimensions; the length of
each dimension is specified in the array dims.
Each node of the lattice will have space for nDataVar elements; the
type of each element is specified by primType.
No space for coordinates will be allocated.
Refer to the IRIS Explorer Module Writer's Guide for more information on the
structure of cxLattice and its contents.
Lattice data structures are allocated from a shared memory arena.
This shared memory is a limited
resource, so it is possible for the memory to be exhausted, causing
the allocation routine to fail. If the allocation routine fails, any
memory it has successfully allocated will be released, and a NULL
pointer will be returned. The subroutine cxDataAllocErrorGet
returns TRUE if the lattice could not be allocated.
See cxDataAllocErrorGet for more details on writing portable
module code
that copes well with limited memory.
SEE ALSO
cxDataAllocErrorGet(3E),
cxLatNew(3E),
cxLatRootNew(3E),
cxLatCoordNew(3E),
cxCoordNew(3E),
cxCoordDefaultNew(3E),
cxLatPtrSet(3E)
NOTE
Many modules assume that a lattice has data. Modules built with the
IRIS Explorer module builder utility (mbuilder(1)) also require that coordinates be
present. It is strongly recommended that you lattices be created with both
data and coordinates for compatibility.
cxLatDataNew, used in conjunction with
cxCoordNew or cxCoordDefaultNew and cxLatPtrSet, allows
the lattice, data and coordinates to be created separately.
Last modified: Mon Nov 18 13:50:16 GMT 1996
[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1996