flames_newmatrix.h

00001 /*
00002  * This file is part of the ESO UVES Pipeline
00003  * Copyright (C) 2004,2005 European Southern Observatory
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA
00018  */
00019 
00020 /*
00021  * $Author: amodigli $
00022  * $Date: 2010/09/24 09:32:02 $
00023  * $Revision: 1.8 $
00024  * $Name: uves-5_0_0 $
00025  * $Log: flames_newmatrix.h,v $
00026  * Revision 1.8  2010/09/24 09:32:02  amodigli
00027  * put back QFITS dependency to fix problem spot by NRI on FIBER mode (with MIDAS calibs) data
00028  *
00029  * Revision 1.6  2009/04/14 07:01:07  amodigli
00030  * added to CVS (moded from flames tree)
00031  *
00032  * Revision 1.8  2007/06/06 08:17:33  amodigli
00033  * replace tab with 4 spaces
00034  *
00035  * Revision 1.7  2007/06/06 07:22:20  jmlarsen
00036  * Changed return type of nrerror()
00037  *
00038  * Revision 1.6  2007/05/07 06:52:17  amodigli
00039  * fixed compilation warnings
00040  *
00041  * Revision 1.5  2007/01/10 11:08:34  jmlarsen
00042  * Don't define DRS_USE_ORDEF
00043  *
00044  * Revision 1.4  2006/10/17 12:33:42  jmlarsen
00045  * Moved FLAMES source to flames directory
00046  *
00047  * Revision 1.4  2006/10/12 11:59:23  jmlarsen
00048  * Conform to source code template
00049  *
00050  * Revision 1.4  2006/08/17 13:56:52  jmlarsen
00051  * Reduced max line length
00052  *
00053  * Revision 1.3  2006/02/28 09:15:22  jmlarsen
00054  * Minor update
00055  *
00056  * Revision 1.2  2005/12/19 16:17:56  jmlarsen
00057  * Replaced bool -> int
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

Generated on 9 Mar 2012 for UVES Pipeline Reference Manual by  doxygen 1.6.1