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 #ifndef FLAMES_NEWMATRIX_H
00061 #define FLAMES_NEWMATRIX_H
00062
00063 #include <flames_uves.h>
00064
00065 void nrerror(const char* error_text);
00066 float *vector(long nl, long nh);
00067 int *ivector(long nl, long nh);
00068 unsigned int *uivector(long nl, long nh);
00069 char *cvector(long nl, long nh);
00070 unsigned char *ucvector(long nl, long nh);
00071 long *lvector(long nl, long nh);
00072 unsigned long int *ulvector(long nl, long nh);
00073 double *dvector(long nl, long nh);
00074 frame_data *fdvector(long nl, long nh);
00075 frame_mask *fmvector(long nl, long nh);
00076 float **matrix(long nrl, long nrh, long ncl, long nch);
00077 char **cmatrix(long nrl, long nrh, long ncl, long nch);
00078 double **dmatrix(long nrl, long nrh, long ncl, long nch);
00079 int **imatrix(long nrl, long nrh, long ncl, long nch);
00080 unsigned long int **ulmatrix(long nrl, long nrh, long ncl, long nch);
00081 long int **lmatrix(long nrl, long nrh, long ncl, long nch);
00082 frame_data **fdmatrix(long nrl, long nrh, long ncl, long nch);
00083 frame_mask **fmmatrix(long nrl, long nrh, long ncl, long nch);
00084 float **submatrix(float **a, long oldrl, long oldrh, long oldcl,
00085 long newrl, long newcl);
00086 float **convert_matrix(float *a, long nrl, long nrh, long ncl, long nch);
00087 float ***f3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
00088 double ***d3tensor(long nrl, long nrh, long ncl, long nch, long ndl, long ndh);
00089 frame_data ***fd3tensor(long nrl, long nrh, long ncl, long nch, long ndl,
00090 long ndh);
00091 frame_mask ***fm3tensor(long nrl, long nrh, long ncl, long nch, long ndl,
00092 long ndh);
00093 unsigned long int ***ul3tensor(long nrl, long nrh, long ncl, long nch,
00094 long ndl, long ndh);
00095 long int ***l3tensor(long nrl, long nrh, long ncl, long nch, long ndl,
00096 long ndh);
00097 long int ****l4tensor(long nal, long nah, long nrl, long nrh, long ncl,
00098 long nch, long ndl, long ndh);
00099 void free_vector(float *v, long nl, long nh);
00100 void free_ivector(int *v, long nl, long nh);
00101 void free_uivector(unsigned int *v, long nl, long nh);
00102 void free_cvector(char *v, long nl, long nh);
00103 void free_ucvector(unsigned char *v, long nl, long nh);
00104 void free_lvector(long int *v, long nl, long nh);
00105 void free_ulvector(unsigned long int *v, long nl, long nh);
00106 void free_dvector(double *v, long nl, long nh);
00107 void free_fdvector(frame_data *v, long nl, long nh);
00108 void free_fmvector(frame_mask *v, long nl, long nh);
00109 void free_matrix(float **m, long nrl, long nrh, long ncl, long nch);
00110 void free_cmatrix(char **m, long nrl, long nrh, long ncl, long nch);
00111 void free_dmatrix(double **m, long nrl, long nrh, long ncl, long nch);
00112 void free_imatrix(int **m, long nrl, long nrh, long ncl, long nch);
00113 void free_ulmatrix(unsigned long int **m, long nrl, long nrh, long ncl,
00114 long nch);
00115 void free_lmatrix(long int **m, long nrl, long nrh, long ncl, long nch);
00116 void free_fdmatrix(frame_data **m, long nrl, long nrh, long ncl, long nch);
00117 void free_fmmatrix(frame_mask **m, long nrl, long nrh, long ncl, long nch);
00118 void free_submatrix(float **b, long nrl, long nrh, long ncl, long nch);
00119 void free_convert_matrix(float **b, long nrl, long nrh, long ncl, long nch);
00120 void free_f3tensor(float ***t, long nrl, long nrh, long ncl, long nch,
00121 long ndl, long ndh);
00122 void free_d3tensor(double ***t, long nrl, long nrh, long ncl, long nch,
00123 long ndl, long ndh);
00124 void free_fd3tensor(frame_data ***t, long nrl, long nrh, long ncl, long nch,
00125 long ndl, long ndh);
00126 void free_fm3tensor(frame_mask ***t, long nrl, long nrh, long ncl, long nch,
00127 long ndl, long ndh);
00128 void free_ul3tensor(unsigned long int ***t, long nrl, long nrh, long ncl,
00129 long nch,
00130 long ndl, long ndh);
00131 void free_l3tensor(long int ***t, long nrl, long nrh, long ncl, long nch,
00132 long ndl, long ndh);
00133 void free_l4tensor(long int ****t, long nal, long nah, long nrl, long nrh,
00134 long ncl, long nch, long ndl, long ndh);
00135 void matrix_product(double **, double **, double **, int , int , int );
00136 void matrix_sum(double **, double **, int , int );
00137
00138
00139 #endif