60 #ifndef FLAMES_NEWMATRIX_H
61 #define FLAMES_NEWMATRIX_H
63 #include <flames_uves.h>
65 void nrerror(
const char* error_text);
66 float *vector(int32_t nl, int32_t nh);
67 int *ivector(int32_t nl, int32_t nh);
68 unsigned int *uivector(int32_t nl, int32_t nh);
69 char *cvector(int32_t nl, int32_t nh);
70 unsigned char *ucvector(int32_t nl, int32_t nh);
71 int32_t *lvector(int32_t nl, int32_t nh);
72 uint32_t *ulvector(int32_t nl, int32_t nh);
73 double *dvector(int32_t nl, int32_t nh);
74 frame_data *fdvector(int32_t nl, int32_t nh);
75 frame_mask *fmvector(int32_t nl, int32_t nh);
76 float **matrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
77 char **cmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
78 double **dmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
79 int **imatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
80 uint32_t **ulmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
81 int32_t **lmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
82 frame_data **fdmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
83 frame_mask **fmmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
84 float **submatrix(
float **a, int32_t oldrl, int32_t oldrh, int32_t oldcl,
85 int32_t newrl, int32_t newcl);
86 float **convert_matrix(
float *a, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
87 float ***f3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
88 double ***d3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
89 frame_data ***fd3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
91 frame_mask ***fm3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
93 uint32_t ***ul3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
94 int32_t ndl, int32_t ndh);
95 int32_t ***l3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
97 int32_t ****l4tensor(int32_t nal, int32_t nah, int32_t nrl, int32_t nrh, int32_t ncl,
98 int32_t nch, int32_t ndl, int32_t ndh);
99 void free_vector(
float *v, int32_t nl, int32_t nh);
100 void free_ivector(
int *v, int32_t nl, int32_t nh);
101 void free_uivector(
unsigned int *v, int32_t nl, int32_t nh);
102 void free_cvector(
char *v, int32_t nl, int32_t nh);
103 void free_ucvector(
unsigned char *v, int32_t nl, int32_t nh);
104 void free_lvector(int32_t *v, int32_t nl, int32_t nh);
105 void free_ulvector(uint32_t *v, int32_t nl, int32_t nh);
106 void free_dvector(
double *v, int32_t nl, int32_t nh);
107 void free_fdvector(frame_data *v, int32_t nl, int32_t nh);
108 void free_fmvector(frame_mask *v, int32_t nl, int32_t nh);
109 void free_matrix(
float **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
110 void free_cmatrix(
char **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
111 void free_dmatrix(
double **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
112 void free_imatrix(
int **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
113 void free_ulmatrix(uint32_t **m, int32_t nrl, int32_t nrh, int32_t ncl,
115 void free_lmatrix(int32_t **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
116 void free_fdmatrix(frame_data **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
117 void free_fmmatrix(frame_mask **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
118 void free_submatrix(
float **b, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
119 void free_convert_matrix(
float **b, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
120 void free_f3tensor(
float ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
121 int32_t ndl, int32_t ndh);
122 void free_d3tensor(
double ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
123 int32_t ndl, int32_t ndh);
124 void free_fd3tensor(frame_data ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
125 int32_t ndl, int32_t ndh);
126 void free_fm3tensor(frame_mask ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
127 int32_t ndl, int32_t ndh);
128 void free_ul3tensor(uint32_t ***t, int32_t nrl, int32_t nrh, int32_t ncl,
130 int32_t ndl, int32_t ndh);
131 void free_l3tensor(int32_t ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
132 int32_t ndl, int32_t ndh);
133 void free_l4tensor(int32_t ****t, int32_t nal, int32_t nah, int32_t nrl, int32_t nrh,
134 int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
135 void matrix_product(
double **,
double **,
double **,
int ,
int ,
int );
136 void matrix_sum(
double **,
double **,
int ,
int );