Changeset 1310 in Sophya for trunk/SophyaLib/BaseTools/mutyv.h


Ignore:
Timestamp:
Nov 9, 2000, 4:39:19 PM (25 years ago)
Author:
ansari
Message:

Changement de codage du type ds MuTyV (en prevision d'introduction de
nouveaux types codes ds MuTyV + Modif ObjFIO<DVList> - Reza 9/11/2000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/BaseTools/mutyv.h

    r1290 r1310  
    2020public:
    2121
    22   inline MuTyV() { typ = 'I'; iv = 0;  dv = dv_im = 0.;  strv = NULL; }
     22  enum MTVType {
     23    MTVInteger,
     24    MTVFloat,
     25    MTVComplex,
     26    MTVString
     27  };
     28
     29  inline MuTyV() { typ = MTVInteger; iv = 0;  dv = dv_im = 0.;  strv = NULL; }
    2330         MuTyV(MuTyV const & a);
    24   inline MuTyV(uint_2 i) { typ = 'I'; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
    25   inline MuTyV(int_4 i)  { typ = 'I'; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
    26   inline MuTyV(int_8 i)  { typ = 'I'; iv = i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
    27   inline MuTyV(r_4 f) { typ = 'D'; dv = (r_8)f; iv = (int_8)f;  dv_im = 0.;  strv = NULL; }
    28   inline MuTyV(r_8 d) { typ = 'D'; dv = d;  iv = (int_8)d;  dv_im = 0.;  strv = NULL; }
    29   inline MuTyV(complex<r_4> z) { typ = 'Z'; dv = (r_8)z.real();  dv_im = z.imag(); 
     31  inline MuTyV(uint_2 i) { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
     32  inline MuTyV(int_4 i)  { typ = MTVInteger; iv = (int_8)i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
     33  inline MuTyV(int_8 i)  { typ = MTVInteger; iv = i;  dv = (r_8)i;  dv_im = 0.;  strv = NULL; }
     34  inline MuTyV(r_4 f) { typ = MTVFloat; dv = (r_8)f; iv = (int_8)f;  dv_im = 0.;  strv = NULL; }
     35  inline MuTyV(r_8 d) { typ = MTVFloat; dv = d;  iv = (int_8)d;  dv_im = 0.;  strv = NULL; }
     36  inline MuTyV(complex<r_4> z) { typ = MTVComplex; dv = (r_8)z.real();  dv_im = z.imag(); 
    3037                                 iv = (int_8)dv;  strv = NULL; }
    31   inline MuTyV(complex<r_8> z) { typ = 'Z'; dv = z.real();  dv_im = z.imag(); 
     38  inline MuTyV(complex<r_8> z) { typ = MTVComplex; dv = z.real();  dv_im = z.imag(); 
    3239                                 iv = (int_8)dv;  strv = NULL; }
    3340
     
    3744         ~MuTyV();
    3845 
    39   inline char Type() const { return typ; }
     46  inline MTVType Type() const { return typ; }
    4047
    4148         MuTyV & operator= (MuTyV const & a);
    42   inline uint_2  operator= (uint_2 v)  { typ = 'I'; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(v); }
    43   inline int_4  operator= (int_4 v)  { typ = 'I'; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(v); }
    44   inline int_8  operator= (int_8 v)  { typ = 'I'; iv = v;  dv = (r_8)v; dv_im = 0.;  return(v); }
    45   inline r_4  operator= (r_4 v)  { typ = 'D'; dv = (r_8)v; iv = (int_8)v;  dv_im = 0.;  return(v); }
    46   inline r_8  operator= (r_8 v) { typ = 'D'; dv = v; iv = (int_8)v;  dv_im = 0.;  return(v); }
    47   inline complex<r_4> operator= (complex<r_4> v) { typ = 'Z'; dv = (r_8)v.real();  dv_im = v.imag();
     49  inline uint_2  operator= (uint_2 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(v); }
     50  inline int_4  operator= (int_4 v)  { typ = MTVInteger; iv = (int_8)v;  dv = (r_8)v;  dv_im = 0.;  return(v); }
     51  inline int_8  operator= (int_8 v)  { typ = MTVInteger; iv = v;  dv = (r_8)v; dv_im = 0.;  return(v); }
     52  inline r_4  operator= (r_4 v)  { typ = MTVFloat; dv = (r_8)v; iv = (int_8)v;  dv_im = 0.;  return(v); }
     53  inline r_8  operator= (r_8 v) { typ = MTVFloat; dv = v; iv = (int_8)v;  dv_im = 0.;  return(v); }
     54  inline complex<r_4> operator= (complex<r_4> v) { typ = MTVComplex; dv = (r_8)v.real();  dv_im = v.imag();
    4855                                                    iv = (int_8)dv;  return(v); }
    49   inline complex<r_8> operator= (complex<r_8> v) { typ = 'Z'; dv = (r_8)v.real();  dv_im = v.imag();
     56  inline complex<r_8> operator= (complex<r_8> v) { typ = MTVComplex; dv = (r_8)v.real();  dv_im = v.imag();
    5057                                                    iv = (int_8)dv;  return(v); }
    5158         char*  operator= (char* s);
     
    6673  r_8 dv_im;   /* for holding imaginary part of a complex */
    6774  string * strv;
    68   char typ;
     75  MTVType typ;
    6976
    7077};
Note: See TracChangeset for help on using the changeset viewer.