00001 #ifndef _NR_TYPES_H_
00002 #define _NR_TYPES_H_
00003
00004 #include <complex>
00005 #include <fstream>
00006 #include "nrutil_nr.h"
00007 using namespace std;
00008
00009 typedef double DP;
00010
00011
00012
00013 typedef const NRVec<bool> Vec_I_BOOL;
00014 typedef NRVec<bool> Vec_BOOL, Vec_O_BOOL, Vec_IO_BOOL;
00015
00016 typedef const NRVec<char> Vec_I_CHR;
00017 typedef NRVec<char> Vec_CHR, Vec_O_CHR, Vec_IO_CHR;
00018
00019 typedef const NRVec<unsigned char> Vec_I_UCHR;
00020 typedef NRVec<unsigned char> Vec_UCHR, Vec_O_UCHR, Vec_IO_UCHR;
00021
00022 typedef const NRVec<int> Vec_I_INT;
00023 typedef NRVec<int> Vec_INT, Vec_O_INT, Vec_IO_INT;
00024
00025 typedef const NRVec<unsigned int> Vec_I_UINT;
00026 typedef NRVec<unsigned int> Vec_UINT, Vec_O_UINT, Vec_IO_UINT;
00027
00028 typedef const NRVec<long> Vec_I_LNG;
00029 typedef NRVec<long> Vec_LNG, Vec_O_LNG, Vec_IO_LNG;
00030
00031 typedef const NRVec<unsigned long> Vec_I_ULNG;
00032 typedef NRVec<unsigned long> Vec_ULNG, Vec_O_ULNG, Vec_IO_ULNG;
00033
00034 typedef const NRVec<float> Vec_I_SP;
00035 typedef NRVec<float> Vec_SP, Vec_O_SP, Vec_IO_SP;
00036
00037 typedef const NRVec<DP> Vec_I_DP;
00038 typedef NRVec<DP> Vec_DP, Vec_O_DP, Vec_IO_DP;
00039
00040 typedef const NRVec<complex<float> > Vec_I_CPLX_SP;
00041 typedef NRVec<complex<float> > Vec_CPLX_SP, Vec_O_CPLX_SP, Vec_IO_CPLX_SP;
00042
00043 typedef const NRVec<complex<DP> > Vec_I_CPLX_DP;
00044 typedef NRVec<complex<DP> > Vec_CPLX_DP, Vec_O_CPLX_DP, Vec_IO_CPLX_DP;
00045
00046
00047
00048 typedef const NRMat<bool> Mat_I_BOOL;
00049 typedef NRMat<bool> Mat_BOOL, Mat_O_BOOL, Mat_IO_BOOL;
00050
00051 typedef const NRMat<char> Mat_I_CHR;
00052 typedef NRMat<char> Mat_CHR, Mat_O_CHR, Mat_IO_CHR;
00053
00054 typedef const NRMat<unsigned char> Mat_I_UCHR;
00055 typedef NRMat<unsigned char> Mat_UCHR, Mat_O_UCHR, Mat_IO_UCHR;
00056
00057 typedef const NRMat<int> Mat_I_INT;
00058 typedef NRMat<int> Mat_INT, Mat_O_INT, Mat_IO_INT;
00059
00060 typedef const NRMat<unsigned int> Mat_I_UINT;
00061 typedef NRMat<unsigned int> Mat_UINT, Mat_O_UINT, Mat_IO_UINT;
00062
00063 typedef const NRMat<long> Mat_I_LNG;
00064 typedef NRMat<long> Mat_LNG, Mat_O_LNG, Mat_IO_LNG;
00065
00066 typedef const NRVec<unsigned long> Mat_I_ULNG;
00067 typedef NRMat<unsigned long> Mat_ULNG, Mat_O_ULNG, Mat_IO_ULNG;
00068
00069 typedef const NRMat<float> Mat_I_SP;
00070 typedef NRMat<float> Mat_SP, Mat_O_SP, Mat_IO_SP;
00071
00072 typedef const NRMat<DP> Mat_I_DP;
00073 typedef NRMat<DP> Mat_DP, Mat_O_DP, Mat_IO_DP;
00074
00075 typedef const NRMat<complex<float> > Mat_I_CPLX_SP;
00076 typedef NRMat<complex<float> > Mat_CPLX_SP, Mat_O_CPLX_SP, Mat_IO_CPLX_SP;
00077
00078 typedef const NRMat<complex<DP> > Mat_I_CPLX_DP;
00079 typedef NRMat<complex<DP> > Mat_CPLX_DP, Mat_O_CPLX_DP, Mat_IO_CPLX_DP;
00080
00081
00082
00083 typedef const NRMat3d<DP> Mat3D_I_DP;
00084 typedef NRMat3d<DP> Mat3D_DP, Mat3D_O_DP, Mat3D_IO_DP;
00085
00086
00087
00088 typedef NRVec<unsigned long *> Vec_ULNG_p;
00089 typedef NRVec<NRMat<DP> *> Vec_Mat_DP_p;
00090 typedef NRVec<fstream *> Vec_FSTREAM_p;
00091
00092 #endif