Changeset 3221 in Sophya
- Timestamp:
- Apr 12, 2007, 10:00:53 PM (18 years ago)
- Location:
- trunk/SophyaPI/PIext
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomhistadapter.cc
r3197 r3221 752 752 return string(buff); 753 753 } 754 else return "BaseDataTable.Att: nlines/nentry/nrows nvar/ncols"; 754 else if (opts[0] == "info") { // Acces aux valeurs stockes ds le DVList Info() 755 if (opts.size() < 2) return string(""); 756 else if (mDT->Info().HasKey(opts[1]) == false) return string(""); 757 else return mDT->Info().GetS(opts[1]); 758 } 759 else if (opts[0] == "row") { // Pour recuperer une ligne de la table 760 if (opts.size() < 2) return string(""); 761 long num = atol(opts[1].c_str()); 762 return mDT->TableRowToString(num, true); 763 } 764 765 else return "BaseDataTable.Att: nlines/nentry/nrows nvar/ncols info.varname row.num "; 755 766 } 756 767 -
trunk/SophyaPI/PIext/nomtarradapter.cc
r3039 r3221 93 93 string s; 94 94 return mtv.Convert(s); 95 } 96 else if (opts[0] == "info") { // Acces aux valeurs stockes ds le DVList Info() 97 if (opts.size() < 2) return string(""); 98 else if (mArr->Info().HasKey(opts[1]) == false) return string(""); 99 else return mArr->Info().GetS(opts[1]); 95 100 } 96 101 else return "TArray.Att: rank sizes size/nelts sum"; -
trunk/SophyaPI/PIext/nomtmatvecadapter.cc
r3039 r3221 15 15 #include "pitvmaad.h" 16 16 17 #include "cimage.h" // Pour la prise en charge des Image<T> (Avr 2007) 18 #include "pimgadapter.h" // Adaptateur de tableaux PIImage pour Image<T> 19 17 20 #include "fioarr.h" 18 21 … … 55 58 TVector<T>* v = dynamic_cast<TVector<T> *>(mMtx); 56 59 if (v != NULL) type = "TVector< "; 57 60 else { 61 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 62 if (img != NULL) type = "Image< "; 63 } 58 64 // type += DecodeTypeIdName(typeid(T).name()); 59 65 type += DataTypeInfo<T>::getTypeName(); … … 69 75 TVector<T>* v = dynamic_cast<TVector<T> *>(mMtx); 70 76 if (v != NULL) return( new TVector<T>(*v, share) ); 71 else return ( new TMatrix<T>(*mMtx, share) ); 77 else { 78 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 79 if (img != NULL) return ( new Image<T>(*img, share) ); 80 else return ( new TMatrix<T>(*mMtx, share) ); 81 } 82 72 83 } 73 84 … … 106 117 return mtv.Convert(s); 107 118 } 108 else return "TMatrix.Att: rank size/nelts nrow/nrows ncol/ncols sum"; 119 else if (opts[0] == "info") { // Acces aux valeurs stockes ds le DVList Info() 120 if (opts.size() < 2) return string(""); 121 else if (mMtx->Info().HasKey(opts[1]) == false) return string(""); 122 else return mMtx->Info().GetS(opts[1]); 123 } 124 else return "TMatrix.Att: rank size/nelts nrow/nrows ncol/ncols sum info.varname"; 109 125 } 110 126 } … … 155 171 FIO_TArray<T> fio(v); 156 172 fio.Write(pos, nom); 157 173 } 158 174 else { 159 FIO_TArray<T> fio(mMtx); 160 fio.Write(pos, nom); 161 } 175 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 176 if (img != NULL) { 177 FIO_Image<T> fio(img); 178 fio.Write(pos, nom); 179 } 180 else { 181 FIO_TArray<T> fio(mMtx); 182 fio.Write(pos, nom); 183 } 184 } 185 return; 162 186 } 163 187 … … 187 211 P2DArrayAdapter* NOMAdapter_TMatrix<T>::Get2DArray(string &) 188 212 { 189 return ( new POTMatrixAdapter<T>(mMtx, false) ); 190 } 213 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 214 if (img != NULL) return ( new ImageAdapter<T>(img, false) ); 215 else return ( new POTMatrixAdapter<T>(mMtx, false) ); 216 } 217 218 // ---- Specialisation pour complexes ----- 219 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 220 P2DArrayAdapter* NOMAdapter_TMatrix< complex<r_4> >::Get2DArray(string &) 221 { 222 return ( new POTMatrixAdapter< complex<r_4> >(mMtx, false) ); 223 } 224 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 225 P2DArrayAdapter* NOMAdapter_TMatrix< complex<r_8> >::Get2DArray(string &) 226 { 227 return ( new POTMatrixAdapter< complex<r_8> >(mMtx, false) ); 228 } 229 // ------------------------------------------------------------- 191 230 192 231 /* --Methode-- */ -
trunk/SophyaPI/PIext/piinit.cc
r3218 r3221 100 100 #endif 101 101 102 /* Avril 2007 : Prise en charge des images par NOMAdapter_TMatrix au lieu de 103 NOMAdapter_Image<T> , deplace ci-dessous */ 104 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_TMatrix<uint_2> ); 105 serv->RegisterClass(new Image<int_2>, new NOMAdapter_TMatrix<int_2> ); 106 serv->RegisterClass(new Image<int_4>, new NOMAdapter_TMatrix<int_4> ); 107 serv->RegisterClass(new Image<int_8>, new NOMAdapter_TMatrix<int_8> ); 108 serv->RegisterClass(new Image<r_4>, new NOMAdapter_TMatrix<r_4> ); 109 serv->RegisterClass(new Image<r_8>, new NOMAdapter_TMatrix<r_8> ); 110 serv->RegisterClass(new Image<complex<r_4> >, new NOMAdapter_TMatrix<complex<r_4> > ); 111 serv->RegisterClass(new Image<complex<r_8> >, new NOMAdapter_TMatrix<complex<r_8> > ); 112 113 #ifdef SANS_EVOLPLANCK 102 114 serv->RegisterClass(new Image<uint_2>, new NOMAdapter_Image<uint_2> ); 115 serv->RegisterClass(new Image<int_2>, new NOMAdapter_Image<int_2> ); 103 116 serv->RegisterClass(new Image<int_4>, new NOMAdapter_Image<int_4> ); 104 117 serv->RegisterClass(new Image<r_4>, new NOMAdapter_Image<r_4> ); 105 118 serv->RegisterClass(new Image<r_8>, new NOMAdapter_Image<r_8> ); 106 107 #ifdef SANS_EVOLPLANCK108 serv->RegisterClass(new Image<int_2>, new NOMAdapter_Image<int_2> );109 119 110 120 serv->RegisterClass(new FitsImage<uint_2>, new NOMAdapter_Image<uint_2> );
Note:
See TracChangeset
for help on using the changeset viewer.