-typedef double GRFMTX_2D[3][3];
-typedef double GRFMTX_3D[4][4];
-
-union elem_val_un { /* holds an element value */
- char c;
- int i;
- long int l;
- float f;
- double d;
-};
-
-typedef union elem_val_un MTX_ELEM_VAL;
-
-
-union elem_ptr_un { /* holds a pointer to a 1D vector of any type */
- char *c;
- int *i;
- long int *l;
- float *f;
- double *d;
-};
-
-typedef union elem_ptr_un MTX_1D;
-typedef MTX_1D *MTX_2D;
-typedef MTX_2D *MTX_3D;
-
-union mtx_val_ptr_un { /* pointer to matrix values */
- MTX_1D m1;
- MTX_2D m2;
- MTX_3D m3;
-};
-
-typedef union mtx_val_ptr_un MTX_PTR;
-
-struct matrix_st {
- unsigned int order; /* order, or dimension, of matrix */
- unsigned int elemtype; /* element type */
- unsigned int elemsize; /* size of element in bytes */
- unsigned int nx, ny, nz; /* size of matrix in each dimension */
- MTX_PTR val; /* pointer to matrix values */
-};
-
-typedef struct matrix_st MTX;
-typedef struct matrix_st *MTXP;
-
-/* DEFINITION IDENTIFICATION
- *
- * Definitions to access a matrix element from an matrix
- *
-
-#define me1(mtx,x)\
- (mtx->elemtype == DT_FLOAT ? mtx->val.m1.f[x] :\
- (mtx->elemtype == DT_DOUBLE ? mtx->val.m1.d[x] :\
- (mtx->elemtype == DT_INT ? mtx->val.m1.i[x] :\
- (mtx->elemtype == DT_LONG ? mtx->val.m1.l[x] :\
- (mtx->elemtype == DT_CHAR ? mtx->val.m1.c[x] :\
- 0\
- )))))
-
-#define me2(mtx,x,y)\
- (mtx->elemtype == DT_FLOAT ? mtx->val.m2[x].f[y] :\
- (mtx->elemtype == DT_DOUBLE ? mtx->val.m2[x].d[y] :\
- (mtx->elemtype == DT_INT ? mtx->val.m2[x].i[y] :\
- (mtx->elemtype == DT_LONG ? mtx->val.m2[x].l[y] :\
- (mtx->elemtype == DT_CHAR ? mtx->val.m2[x].c[y] :\
- 0\
- )))))
-
-
-#define me3(mtx,x,y,z)\
- (mtx->elemtype == DT_FLOAT ? mtx->val.m3[x][y].f[z] :\
- (mtx->elemtype == DT_DOUBLE ? mtx->val.m3[x][y].d[z] :\
- (mtx->elemtype == DT_INT ? mtx->val.m3[x][y].i[z] :\
- (mtx->elemtype == DT_LONG ? mtx->val.m3[x][y].l[z] :\
- (mtx->elemtype == DT_CHAR ? mtx->val.m3[x][y].c[z] :\
- 0\
- )))))
-*/
-
-/* clip.c */