21 |
|
#define RMF_SWAPIN 1 |
22 |
|
#define RMF_FREEMEM 2 |
23 |
|
|
24 |
< |
#define DTrmx_native DTdouble /* in-core data type */ |
24 |
> |
#ifndef MAXCOMP |
25 |
> |
#define MAXCOMP MAXCSAMP /* #components we support */ |
26 |
> |
#endif |
27 |
> |
/* Set in-core data type */ |
28 |
> |
#if !defined(DTrmx_native) || DTrmx_native==DTfloat |
29 |
> |
#define DTrmx_native DTfloat |
30 |
> |
#define rmx_dtype float |
31 |
> |
#define rmx_scanfmt "%f" |
32 |
> |
#elif DTrmx_native==DTdouble |
33 |
|
#define rmx_dtype double |
34 |
+ |
#define rmx_scanfmt "%lf" |
35 |
+ |
#endif |
36 |
|
|
37 |
|
/* General [row][col][cmp] component matrix */ |
38 |
|
typedef struct { |
105 |
|
/* Replace data in first matrix with data from second */ |
106 |
|
extern int rmx_transfer_data(RMATRIX *rdst, RMATRIX *rsrc, int dometa); |
107 |
|
|
108 |
< |
/* Allocate and assign transposed matrix */ |
109 |
< |
extern RMATRIX *rmx_transpose(const RMATRIX *rm); |
108 |
> |
/* Transpose the given matrix */ |
109 |
> |
extern int rmx_transpose(RMATRIX *rm); |
110 |
|
|
111 |
|
/* Multiply (concatenate) two matrices and allocate the result */ |
112 |
|
extern RMATRIX *rmx_multiply(const RMATRIX *m1, const RMATRIX *m2); |