Changeset 718 in Sophya for trunk


Ignore:
Timestamp:
Feb 6, 2000, 4:05:44 PM (26 years ago)
Author:
ansari
Message:

Ajout commentaire/variable ds DVList - Remplacement float/double par r_4 r_8
Ajout classe XNTuple (importe/adapte depuis PEIDA) - Reza 7 Fev 2000

Location:
trunk/SophyaLib/NTools
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/NTools/NTools.o.list

    r717 r718  
    4545tvector.o
    4646utils.o
     47xntuple.o
  • trunk/SophyaLib/NTools/dvlist.cc

    r515 r718  
    2727//      en particulier destinés à être inclus dans d'autres objets
    2828//      PPersist plus complexes. La classe DVList gère des
    29 //      variables de type entier ("int_4"), réél double précision ("double")
     29//      variables de type entier ("int_8"), réél double précision ("r_8")
    3030//      et de type chaine de caracteres ("string, char*", maxi 30 caracteres ).
    3131//      Une classe intermédiaire (*MuTyV*) est utilisée pour représenter une
     
    117117for(it = dvl.mvlist.begin(); it != dvl.mvlist.end(); it++)
    118118  {
    119   switch ((*it).second.typ)
     119  switch ((*it).second.elval.typ)
    120120    {
    121121    case 'I' :
    122       SetI((*it).first, (*it).second.mtv.iv);
     122      SetI((*it).first, (*it).second.elval.mtv.iv);
    123123      break;
    124124    case 'D' :
    125       SetD((*it).first, (*it).second.mtv.dv);
     125      SetD((*it).first, (*it).second.elval.mtv.dv);
    126126      break;
    127127    case 'S' :
    128       SetS((*it).first, (*it).second.mtv.strv);
     128      SetS((*it).first, (*it).second.elval.mtv.strv);
    129129      break;
    130130    default :
     
    138138
    139139//++
    140 // int_4   GetI(string const& key, int_4  def=-1)
    141 // double  GetD(string const& key, double def=-9.e19)
     140// int_8   GetI(string const& key, int_8  def=-1)
     141// r_8     GetD(string const& key, r_8 def=-9.e19)
    142142// string  GetS(string const& key, char* def="")
    143143//      Retourne la valeur de la variable de nom "key" et de type entier, réél,
    144144//      chaine de caracteres.
    145145//      Si la variable n'existe pas, la valeur par défaut "def" est renvoyée.
    146 //--
    147 
    148 /* --Methode-- */
    149 int_4       DVList::GetI(string const& key, int_4 def)
     146// string  GetComment(string const& key)
     147//      Retourne le commentaire associé à la variable de nom "key".
     148//--
     149
     150/* --Methode-- */
     151int_8       DVList::GetI(string const& key, int_8 def)
    150152{
    151153ValList::iterator it = mvlist.find(key);
    152154if (it == mvlist.end())  return(def);
    153 if ( (*it).second.typ != 'I') return(def);
    154 return((*it).second.mtv.iv);
    155 }
    156 
    157 /* --Methode-- */
    158 double      DVList::GetD(string const& key, double def)
     155if ( (*it).second.elval.typ != 'I') return(def);
     156return((*it).second.elval.mtv.iv);
     157}
     158
     159/* --Methode-- */
     160r_8      DVList::GetD(string const& key, r_8 def)
    159161{
    160162ValList::iterator it = mvlist.find(key);
    161163if (it == mvlist.end())  return(def);
    162 if ( (*it).second.typ != 'D') return(def);
    163 return((*it).second.mtv.dv);
     164if ( (*it).second.elval.typ != 'D') return(def);
     165return((*it).second.elval.mtv.dv);
    164166}
    165167
     
    169171ValList::iterator it = mvlist.find(key);
    170172if (it == mvlist.end())  return(def);
    171 if ( (*it).second.typ != 'S') return(def);
    172 return((*it).second.mtv.strv);
    173 }
    174 
    175 //++
    176 // void  SetI(string const& key, int_4  val)
    177 // void  SetD(string const& key, double val)
     173if ( (*it).second.elval.typ != 'S') return(def);
     174return((*it).second.elval.mtv.strv);
     175}
     176
     177/* --Methode-- */
     178string      DVList::GetComment(string const& key)
     179{
     180ValList::iterator it = mvlist.find(key);
     181if (it == mvlist.end())  return("");
     182return((*it).second.elcomm);
     183}
     184
     185//++
     186// void  SetI(string const& key, int_8  val)
     187// void  SetD(string const& key, r_8 val)
    178188// void  SetS(string const& key, char*  val)
    179189// void  SetS(string const& key, string val)
    180190//      Crée la variable de nom "key", de type entier, double, string et
    181191//      lui attribue la valeur "val". Si une variable du même nom existe,
    182 //      sa valeur et eventuellement son type sont modifiés. 
    183 //--
    184 
    185 /* --Methode-- */
    186 void        DVList::SetI(string const& key, int_4 val)
    187 {
    188 Get(key) = (int_4)val;
    189 }
    190 
    191 /* --Methode-- */
    192 void        DVList::SetD(string const& key, double val)
    193 {
    194 Get(key) = (double)val;
     192//      sa valeur et eventuellement son type sont modifiés.  Les noms de
     193//      variables ne doivent pas contenir de caractères spéciaux,
     194//      en particulier pas de CR/LF.
     195// void  SetComment(string const& key, string const& comm)
     196//      Modifie le commentaire associé à la variable de nom "key", si
     197//      celle-ci existe. Le texte du commentaire ne doit pas contenir
     198//      de caractères spéciaux, et en particulier pas de CR/LF.
     199//--
     200
     201/* --Methode-- */
     202void        DVList::SetI(string const& key, int_8 val)
     203{
     204Get(key) = (int_8)val;
     205}
     206
     207/* --Methode-- */
     208void        DVList::SetD(string const& key, r_8 val)
     209{
     210Get(key) = (r_8)val;
    195211}
    196212
     
    209225}
    210226
     227/* --Methode-- */
     228void        DVList::SetComment(string const& key, string const& comm)
     229{
     230ValList::iterator it = mvlist.find(key);
     231if (it == mvlist.end())  return;
     232(*it).second.elcomm = comm;
     233}
    211234
    212235//++
     
    228251if ( (l < 1) || (key.find_first_of(" ") < l) )  return(ddvdum);
    229252ValList::iterator it = mvlist.find(key);
    230 if (it == mvlist.end()) mvlist[key] = (int_4) 0;  // $CHECK$ EA. Ambigu si pas de cast...
     253dvlElement xxx = {(int_8)0 , ""};
     254if (it == mvlist.end()) mvlist[key] = xxx; 
    231255it = mvlist.find(key);
    232256if (it == mvlist.end()) return(ddvdum);
    233 else return((*it).second);
     257else return((*it).second.elval);
    234258}
    235259
     
    256280{
    257281os << "DVList::Print() - NVar= " << (int)mvlist.size() << "\n";
    258 os << "Comment: " << comment << "\n";
    259 char buff[128];
     282if (comment.length() > 0)  os << comment << endl;
     283char buff[256];
    260284ValList::const_iterator it;
    261285for(it = mvlist.begin(); it != mvlist.end(); it++)  {
    262   switch ((*it).second.typ)
     286  switch ((*it).second.elval.typ)
    263287    {
    264288    case 'I' :
    265       sprintf(buff, "%s = %d (int) \n", (*it).first.substr(0,64).c_str(), (*it).second.mtv.iv );
     289      sprintf(buff, "%s = %d (int) %s\n", (*it).first.substr(0,64).c_str(),
     290              (*it).second.elval.mtv.iv, (*it).second.elcomm.substr(0,128).c_str());
    266291      break;
    267292    case 'D' :
    268       sprintf(buff, "%s = %.20g (double) \n", (*it).first.substr(0,64).c_str(), (*it).second.mtv.dv );
     293      sprintf(buff, "%s = %.20g (double) %s\n", (*it).first.substr(0,64).c_str(),
     294              (*it).second.elval.mtv.dv, (*it).second.elcomm.substr(0,128).c_str());
    269295      break;
    270296    case 'S' :
    271       sprintf(buff, "%s = %s (string) \n", (*it).first.substr(0,64).c_str(), (*it).second.mtv.strv );
     297      sprintf(buff, "%s = %s (string) %s\n", (*it).first.substr(0,64).c_str(),
     298              (*it).second.elval.mtv.strv, (*it).second.elcomm.substr(0,128).c_str());
    272299      break;
    273300    default :
     
    287314//|     mvu = 66.6;        // et double (= 66.6) maintenant ...   
    288315//|     MuTyV mvi(14);     // On construit une variable entiere = 14
    289 //|     float x = mvi;     // x vaut 14.0
     316//|     r_4 x = mvi;     // x vaut 14.0
    290317//|     MuTyV mvd(44.4);   // Variable double = 44.4
    291318//|     int k = mvd;       // k vaut 44 
     
    305332//|     DVList dvlr("dvlist.ppf");
    306333//|     int k = dvlr["toto"] ;     //  k = 14
    307 //|     double b = dvlr["titi"] ;  //  b = 25.5
     334//|     r_8 b = dvlr["titi"] ;  //  b = 25.5
    308335//|     string s =  dvlr["tata"] ; //  s = "Bonjour, Ca va ?"
    309 //|     float c = dvlr["Hello"] ;  //  c = 77.77
     336//|     r_4 c = dvlr["Hello"] ;  //  c = 77.77
    310337//|     int l =  dvlr["Hello"] ;   //  l = 77
    311338//|     int m =  dvlr["hello"] ;   //  m = 88
     
    321348void        ObjFileIO<DVList>::WriteSelf(POutPersist& s) const
    322349{
    323 char buf[320];
     350char buf[512];
    324351
    325352int lc = dobj->Comment().length();
    326 if (lc > 319) lc = 319;
     353if (lc > 511) lc = 511;
    327354if (lc > 0) {
    328355  sprintf(buf,"Comment: ( %6d ) ", lc);
     
    333360DVList::ValList::const_iterator it;
    334361for(it = dobj->Begin(); it != dobj->End(); it++)  {
    335   switch ((*it).second.typ)
    336     {
     362  switch ((*it).second.elval.typ) {
    337363    case 'I' :
    338       sprintf(buf,"I %s %d", (*it).first.substr(0,64).c_str(), (*it).second.mtv.iv );
     364      sprintf(buf,"I %s %d", (*it).first.substr(0,64).c_str(), (*it).second.elval.mtv.iv );
    339365      s.PutLine(buf);
    340366      break;
    341367    case 'D' :
    342       sprintf(buf,"D %s %.20g", (*it).first.substr(0,64).c_str(), (*it).second.mtv.dv );
     368      sprintf(buf,"D %s %.20g", (*it).first.substr(0,64).c_str(), (*it).second.elval.mtv.dv );
    343369      s.PutLine(buf);
    344370      break;
    345371    case 'S' :
    346       sprintf(buf,"S %s %s", (*it).first.substr(0,64).c_str(), (*it).second.mtv.strv );
     372      sprintf(buf,"S %s %s", (*it).first.substr(0,64).c_str(), (*it).second.elval.mtv.strv );
    347373      s.PutLine(buf);
    348374      break;
    349375    default :
    350376      break;
    351     }
    352   }
     377  }
     378// Ecriture eventuelle du commentaire associe
     379  if ((*it).second.elcomm.length() > 0) {
     380    sprintf(buf,"# %s", (*it).second.elcomm.substr(0,256).c_str());
     381    s.PutLine(buf);
     382  }
     383}
    353384
    354385s.PutLine("ZZZZZ--End-of-Varible-List------");
     
    358389void        ObjFileIO<DVList>::ReadSelf(PInPersist& s)
    359390{
    360 char buf[320];
    361 int_4 j,iv;
    362 double dv;
     391char buf[512];
     392int_8 j,iv;
     393r_8 dv;
    363394bool ok=true;
    364395buf[0] = '\0';
    365396dobj->Clear();
    366397
    367 s.GetLine(buf, 319);  // Pour lire les "------- "
     398s.GetLine(buf, 511);  // Pour lire les "------- "
    368399if (buf[0] != '-') {  // Il y a un champ commentaire a lire
    369400  buf[18] ='\0';
    370401  int lc = atoi(buf+11);
    371   if (lc > 319)  {
     402  if (lc > 511)  {
    372403    cerr << "DVList::ReadSelf() Pb/Bug ??  CommentLength= " << lc << endl;
    373     lc = 319;
     404    lc = 511;
    374405    }
    375406  s.GetBytes(buf, lc);
     
    378409  }
    379410
     411string key="";
    380412while(ok) {
    381   s.GetLine(buf, 319);
    382   buf[319] = '\0';
     413  s.GetLine(buf, 511);
     414  buf[511] = '\0';
    383415  if (strncmp(buf,"ZZZZZ",5) == 0)  { ok=false; break; }
     416  if (buf[0] == '#') {
     417    dobj->SetComment(key, buf+2);
     418    continue;
     419  }
    384420  j = posc(buf+2, ' ')+2;
    385421  buf[j] = '\0';
    386   switch (buf[0])
    387     {
     422  switch (buf[0]) {
    388423    case 'I' :
    389       iv = (int_4)atol(buf+j+1);
    390       dobj->SetI(buf+2, iv);
     424      iv = (int_8)atol(buf+j+1);
     425      key = buf+2;
     426      dobj->SetI(key, iv);
    391427      break;
    392428    case 'D' :
    393429      dv = atof(buf+j+1);
    394       dobj->SetD(buf+2, dv);
     430      key = buf+2;
     431      dobj->SetD(key, dv);
    395432      break;
    396433    case 'S' :
    397       dobj->SetS(buf+2, buf+j+1);
     434      key = buf+2;
     435      dobj->SetS(key, buf+j+1);
    398436      break;
    399437    default :
  • trunk/SophyaLib/NTools/dvlist.h

    r552 r718  
    2323public:
    2424  union {
    25   int_4 iv;
    26   double dv;
     25  int_8 iv;
     26  r_8 dv;
    2727  char strv[31];
    2828  } mtv;
     
    3232
    3333  inline MuTyV() { typ = 'I'; mtv.iv = 0;  mtv.dv = 0.;  mtv.strv[0] ='\0'; }
    34   inline MuTyV(int_4 i) { typ = 'I'; mtv.iv = i; mtv.dv = 0.;  mtv.strv[0] ='\0'; }
    35   inline MuTyV(float f) { typ = 'D'; mtv.dv = (double)f;  mtv.iv = 0;  mtv.strv[0] ='\0'; }
    36   inline MuTyV(double d) { typ = 'D'; mtv.dv = d; mtv.iv = 0;  mtv.strv[0] ='\0'; }
     34  inline MuTyV(int_4 i) { typ = 'I'; mtv.iv = (int_8)i; mtv.dv = 0.;  mtv.strv[0] ='\0'; }
     35  inline MuTyV(int_8 i) { typ = 'I'; mtv.iv = i; mtv.dv = 0.;  mtv.strv[0] ='\0'; }
     36  inline MuTyV(r_4 f) { typ = 'D'; mtv.dv = (r_8)f;  mtv.iv = 0;  mtv.strv[0] ='\0'; }
     37  inline MuTyV(r_8 d) { typ = 'D'; mtv.dv = d; mtv.iv = 0;  mtv.strv[0] ='\0'; }
    3738  inline MuTyV(char const* s)  { typ = 'S'; strncpy(mtv.strv, s, 31); mtv.strv[30] = '\0'; }
    3839  inline MuTyV(string const& s) { typ = 'S'; strncpy(mtv.strv, s.c_str(), 31); mtv.strv[30] = '\0'; }
    39   inline int_4  operator= (int_4 v)  { typ = 'I'; mtv.iv = v; return(v); }
    40   inline float  operator= (float v)  { typ = 'D'; mtv.dv = (double)v; return(v); }
    41   inline double operator= (double v) { typ = 'D'; mtv.dv = v; return(v); }
     40  inline int_4  operator= (int_4 v)  { typ = 'I'; mtv.iv = (int_8)v; return(v); }
     41  inline int_8  operator= (int_8 v)  { typ = 'I'; mtv.iv = v; return(v); }
     42  inline r_4  operator= (r_4 v)  { typ = 'D'; mtv.dv = (r_8)v; return(v); }
     43  inline r_8 operator= (r_8 v) { typ = 'D'; mtv.dv = v; return(v); }
    4244  inline char*  operator= (char* s)  { typ = 'S'; strncpy(mtv.strv, s, 31);
    4345                                       mtv.strv[30] = '\0';  return(s); }
     
    4547                                            mtv.strv[30] = '\0'; return(s); }
    4648
    47   inline operator int_4() { if (typ == 'I')  return(mtv.iv);
     49  inline operator int_4() { if (typ == 'I')  return((int_4)mtv.iv);
    4850                            else if (typ == 'D') return((int_4)mtv.dv);
    4951                            else return(atol(mtv.strv)); }
    50   inline operator float() { if (typ == 'I')  return((float)mtv.iv);
    51                             else if (typ == 'D') return((float)mtv.dv);
    52                             else return((float)atof(mtv.strv)); }
    53   inline operator double() { if (typ == 'I')  return((double)mtv.iv);
     52  inline operator int_8() { if (typ == 'I')  return((int_8)mtv.iv);
     53                            else if (typ == 'D') return((int_8)mtv.dv);
     54                            else return(atol(mtv.strv)); }
     55  inline operator r_4() { if (typ == 'I')  return((r_4)mtv.iv);
     56                            else if (typ == 'D') return((r_4)mtv.dv);
     57                            else return((r_4)atof(mtv.strv)); }
     58  inline operator r_8() { if (typ == 'I')  return((r_8)mtv.iv);
    5459                            else if (typ == 'D') return(mtv.dv);
    5560                            else return(atof(mtv.strv)); }
     
    7883  DVList&           Merge(const DVList&);
    7984
    80   int_4             GetI(string const& key, int_4 def=-1);
    81   double            GetD(string const& key, double def=-9.e19);
     85  int_8             GetI(string const& key, int_8 def=-1);
     86  r_8               GetD(string const& key, r_8 def=-9.e19);
    8287  string            GetS(string const& key, char* def="");
     88  string            GetComment(string const& key);
    8389
    84   void              SetI(string const& key, int_4 val);
    85   void              SetD(string const& key, double val);
     90  void              SetI(string const& key, int_8 val);
     91  void              SetD(string const& key, r_8 val);
    8692  void              SetS(string const& key, char const*  val);
    8793  void              SetS(string const& key, string val);
     94  void              SetComment(string const& key, string const& comm);
    8895
    8996  MuTyV&            Get(string const& key);
     
    95102  virtual void      Print(ostream& os)  const;
    96103
    97   typedef map<string, MuTyV, less<string> >  ValList;
     104// Chaque element dans un DVList est constitue desormais d'un MuTyV
     105// et d'une chaine de caracteres (commentaire) regroupe dans la structure
     106// dvlElement. Ces elements sont associes aux noms de variables dans un
     107// map<...> ValList.            Reza 02/2000
     108
     109  struct dvlElement {MuTyV elval; string elcomm; } ;
     110  typedef map<string, dvlElement, less<string> >  ValList;
    98111  inline ValList::const_iterator Begin() { return(mvlist.begin()); }
    99112  inline ValList::const_iterator End() { return(mvlist.end()); }
    100113 
    101 //  int_4             ClassId() const        { return classId; }
    102 //  static PPersist*  Create()               { return new DVList;}
    103 
    104 //  virtual void      WriteSelf(POutPersist&) const;
    105 //  virtual void      ReadSelf(PInPersist&);
    106114
    107115private:
  • trunk/SophyaLib/NTools/history_eros

    r490 r718  
    186186   Repository revision: 1.14    /projects/Eros/CVSEros/CodeCxx/Outils/utils.h,v
    187187   OK                   1.15    KCC std
     188-----------> xntuple.cc
     189   Repository revision: 1.8     /projects/Eros/CVSEros/CodeCxx/Outils/xntuple.cc,v
     190   OK
     191-----------> xntuple.h
     192   Repository revision: 1.6     /projects/Eros/CVSEros/CodeCxx/Outils/xntuple.h,v
     193   OK
    188194
    189195NTools from Images++
  • trunk/SophyaLib/NTools/outilsinit.cc

    r514 r718  
    1212#include "hisprof.h"
    1313#include "ntuple.h"
     14#include "xntuple.h"
    1415#include "generaldata.h"
    1516#include "tmatrix.h"
     
    4243
    4344  PPRegister(ObjFileIO<NTuple>);
     45  PPRegister(ObjFileIO<XNTuple>);
    4446  PPRegister(ObjFileIO<GeneralFitData>);
    4547
     
    5254  PPRegister(FIO_TMatrix<r_4>);
    5355  PPRegister(FIO_TMatrix<r_8>);
    54   PPRegister(FIO_TMatrix< complex<float> >);
    55   PPRegister(FIO_TMatrix< complex<double> >);
     56  PPRegister(FIO_TMatrix< complex<r_4> >);
     57  PPRegister(FIO_TMatrix< complex<r_8> >);
    5658
    5759  PPRegister(FIO_TVector<uint_1>);
     
    6365  PPRegister(FIO_TVector<r_4>);
    6466  PPRegister(FIO_TVector<r_8>);
    65   PPRegister(FIO_TVector< complex<float> >);
    66   PPRegister(FIO_TVector< complex<double> >);
     67  PPRegister(FIO_TVector< complex<r_4> >);
     68  PPRegister(FIO_TVector< complex<r_8> >);
    6769
    6870
  • trunk/SophyaLib/NTools/tmatrix.cc

    r514 r718  
    1 // $Id: tmatrix.cc,v 1.12 1999-10-25 16:40:03 ansari Exp $
     1// $Id: tmatrix.cc,v 1.13 2000-02-06 15:05:43 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "machdefs.h"
     
    616616#pragma define_template TMatrix<r_4>
    617617#pragma define_template TMatrix<r_8>
    618 #pragma define_template TMatrix< complex<float> >
    619 #pragma define_template TMatrix< complex<double> >
     618#pragma define_template TMatrix< complex<r_4> >
     619#pragma define_template TMatrix< complex<r_8> >
    620620// Instances des delegues FileIO (PPersist)
    621621#pragma define_template FIO_TMatrix<uint_1>
     
    628628#pragma define_template FIO_TMatrix<r_8>
    629629#pragma define_template FIO_TMatrix<r_4>
    630 #pragma define_template FIO_TMatrix< complex<float> >
    631 #pragma define_template FIO_TMatrix< complex<double> >
     630#pragma define_template FIO_TMatrix< complex<r_4> >
     631#pragma define_template FIO_TMatrix< complex<r_8> >
    632632// Instances gestion lignes/colonnes
    633633#pragma define_template TMatrixRC<uint_1>
     
    640640#pragma define_template TMatrixRC<r_4>
    641641#pragma define_template TMatrixRC<r_8>
    642 #pragma define_template TMatrixRC< complex<float> >
    643 #pragma define_template TMatrixRC< complex<double> >
     642#pragma define_template TMatrixRC< complex<r_4> >
     643#pragma define_template TMatrixRC< complex<r_8> >
    644644#endif
    645645
     
    654654template class TMatrix<r_4>;
    655655template class TMatrix<r_8>;
    656 template class TMatrix< complex<float> >;
    657 template class TMatrix< complex<double> >;
     656template class TMatrix< complex<r_4> >;
     657template class TMatrix< complex<r_8> >;
    658658// Instances des delegues FileIO (PPersist)
    659659template class FIO_TMatrix<uint_1>;
     
    666666template class FIO_TMatrix<r_8>;
    667667template class FIO_TMatrix<r_4>;
    668 template class FIO_TMatrix< complex<float> >;
    669 template class FIO_TMatrix< complex<double> >;
     668template class FIO_TMatrix< complex<r_4> >;
     669template class FIO_TMatrix< complex<r_8> >;
    670670// Instances gestion lignes/colonnes
    671671template class TMatrixRC<uint_1>;
     
    678678template class TMatrixRC<r_4>;
    679679template class TMatrixRC<r_8>;
    680 template class TMatrixRC< complex<float> >;
    681 template class TMatrixRC< complex<double> >;
     680template class TMatrixRC< complex<r_4> >;
     681template class TMatrixRC< complex<r_8> >;
    682682#endif
  • trunk/SophyaLib/NTools/tvector.cc

    r514 r718  
    1 // $Id: tvector.cc,v 1.5 1999-10-25 16:40:04 ansari Exp $
     1// $Id: tvector.cc,v 1.6 2000-02-06 15:05:43 ansari Exp $
    22//                         C.Magneville          04/99
    33#include "machdefs.h"
     
    185185#pragma define_template TVector<r_4>
    186186#pragma define_template TVector<r_8>
    187 #pragma define_template TVector< complex<float> >
    188 #pragma define_template TVector< complex<double> >
     187#pragma define_template TVector< complex<r_4> >
     188#pragma define_template TVector< complex<r_8> >
    189189// Instances des delegues FileIO (PPersist)
    190190#pragma define_template FIO_TVector<uint_1>
     
    197197#pragma define_template FIO_TVector<r_8>
    198198#pragma define_template FIO_TVector<r_4>
    199 #pragma define_template FIO_TVector< complex<float> >
    200 #pragma define_template FIO_TVector< complex<double> >
     199#pragma define_template FIO_TVector< complex<r_4> >
     200#pragma define_template FIO_TVector< complex<r_8> >
    201201#endif
    202202
     
    211211template class TVector<r_4>;
    212212template class TVector<r_8>;
    213 template class TVector< complex<float> >;
    214 template class TVector< complex<double> >;
     213template class TVector< complex<r_4> >;
     214template class TVector< complex<r_8> >;
    215215// Instances des delegues FileIO (PPersist)
    216216template class FIO_TVector<uint_1>;
     
    223223template class FIO_TVector<r_8>;
    224224template class FIO_TVector<r_4>;
    225 template class FIO_TVector< complex<float> >;
    226 template class FIO_TVector< complex<double> >;
     225template class FIO_TVector< complex<r_4> >;
     226template class FIO_TVector< complex<r_8> >;
    227227#endif
Note: See TracChangeset for help on using the changeset viewer.