00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074 #ifndef FLAMES_NEWMATRIX_H
00075 #define FLAMES_NEWMATRIX_H
00076
00077 #include <flames_uves.h>
00078
00079 void nrerror(const char* error_text);
00080 float *vector(int32_t nl, int32_t nh);
00081 int *ivector(int32_t nl, int32_t nh);
00082 unsigned int *uivector(int32_t nl, int32_t nh);
00083 char *cvector(int32_t nl, int32_t nh);
00084 unsigned char *ucvector(int32_t nl, int32_t nh);
00085 int32_t *lvector(int32_t nl, int32_t nh);
00086 uint32_t *ulvector(int32_t nl, int32_t nh);
00087 double *dvector(int32_t nl, int32_t nh);
00088 frame_data *fdvector(int32_t nl, int32_t nh);
00089 frame_mask *fmvector(int32_t nl, int32_t nh);
00090 float **matrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00091 char **cmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00092 double **dmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00093 int **imatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00094 uint32_t **ulmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00095 int32_t **lmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00096 frame_data **fdmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00097 frame_mask **fmmatrix(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00098 float **submatrix(float **a, int32_t oldrl, int32_t oldrh, int32_t oldcl,
00099 int32_t newrl, int32_t newcl);
00100 float **convert_matrix(float *a, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00101 float ***f3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
00102 double ***d3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
00103 frame_data ***fd3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
00104 int32_t ndh);
00105 frame_mask ***fm3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
00106 int32_t ndh);
00107 uint32_t ***ul3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00108 int32_t ndl, int32_t ndh);
00109 int32_t ***l3tensor(int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch, int32_t ndl,
00110 int32_t ndh);
00111 int32_t ****l4tensor(int32_t nal, int32_t nah, int32_t nrl, int32_t nrh, int32_t ncl,
00112 int32_t nch, int32_t ndl, int32_t ndh);
00113 void free_vector(float *v, int32_t nl, int32_t nh);
00114 void free_ivector(int *v, int32_t nl, int32_t nh);
00115 void free_uivector(unsigned int *v, int32_t nl, int32_t nh);
00116 void free_cvector(char *v, int32_t nl, int32_t nh);
00117 void free_ucvector(unsigned char *v, int32_t nl, int32_t nh);
00118 void free_lvector(int32_t *v, int32_t nl, int32_t nh);
00119 void free_ulvector(uint32_t *v, int32_t nl, int32_t nh);
00120 void free_dvector(double *v, int32_t nl, int32_t nh);
00121 void free_fdvector(frame_data *v, int32_t nl, int32_t nh);
00122 void free_fmvector(frame_mask *v, int32_t nl, int32_t nh);
00123 void free_matrix(float **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00124 void free_cmatrix(char **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00125 void free_dmatrix(double **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00126 void free_imatrix(int **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00127 void free_ulmatrix(uint32_t **m, int32_t nrl, int32_t nrh, int32_t ncl,
00128 int32_t nch);
00129 void free_lmatrix(int32_t **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00130 void free_fdmatrix(frame_data **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00131 void free_fmmatrix(frame_mask **m, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00132 void free_submatrix(float **b, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00133 void free_convert_matrix(float **b, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch);
00134 void free_f3tensor(float ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00135 int32_t ndl, int32_t ndh);
00136 void free_d3tensor(double ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00137 int32_t ndl, int32_t ndh);
00138 void free_fd3tensor(frame_data ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00139 int32_t ndl, int32_t ndh);
00140 void free_fm3tensor(frame_mask ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00141 int32_t ndl, int32_t ndh);
00142 void free_ul3tensor(uint32_t ***t, int32_t nrl, int32_t nrh, int32_t ncl,
00143 int32_t nch,
00144 int32_t ndl, int32_t ndh);
00145 void free_l3tensor(int32_t ***t, int32_t nrl, int32_t nrh, int32_t ncl, int32_t nch,
00146 int32_t ndl, int32_t ndh);
00147 void free_l4tensor(int32_t ****t, int32_t nal, int32_t nah, int32_t nrl, int32_t nrh,
00148 int32_t ncl, int32_t nch, int32_t ndl, int32_t ndh);
00149 void matrix_product(double **, double **, double **, int , int , int );
00150 void matrix_sum(double **, double **, int , int );
00151
00152
00153 #endif