Changeset 1550 in Sophya
- Timestamp:
- Jun 27, 2001, 10:13:16 AM (24 years ago)
- Location:
- trunk/SophyaLib/TArray
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/basarr.h
r1517 r1550 69 69 70 70 // Array dimensions 71 //! Return true if the array was allocated ( Rank() > 0 ) 72 inline bool IsAllocated() const { return( (ndim_ > 0) ? true : false ); } 71 73 //! Return number of dimensions (array rank) 72 74 inline int_4 NbDimensions() const { return( ndim_ ); } -
trunk/SophyaLib/TArray/tarray.cc
r1543 r1550 1000 1000 \param maxprt : maximum numer of print 1001 1001 \param si : if true, display attached DvList 1002 \param ascd : if true, suppresses the display of line numbers, 1003 suitable for ascii dump format. 1002 1004 \sa SetMaxPrint 1003 */ 1004 template <class T> 1005 void TArray<T>::Print(ostream& os, int_4 maxprt, bool si) const 1005 \sa WriteASCII 1006 */ 1007 template <class T> 1008 void TArray<T>::Print(ostream& os, sa_size_t maxprt, bool si, bool ascd) const 1006 1009 { 1007 1010 if (maxprt < 0) maxprt = max_nprt_; … … 1011 1014 sa_size_t k0,k1,k2,k3,k4; 1012 1015 for(k4=0; k4<size_[4]; k4++) { 1013 if (size_[4] > 1) cout << "\n ----- Dimension 5 (U) K4= " << k4 << endl; 1016 if ((size_[4] > 1) && ascd) 1017 cout << "\n ----- Dimension 5 (U) K4= " << k4 << endl; 1014 1018 for(k3=0; k3<size_[3]; k3++) { 1015 if (size_[3] > 1) cout << "\n ----- Dimension 4 (T) K3= " << k3 << endl; 1019 if ((size_[3] > 1) && ascd) 1020 cout << "\n ----- Dimension 4 (T) K3= " << k3 << endl; 1016 1021 for(k2=0; k2<size_[2]; k2++) { 1017 if (size_[2] > 1) cout << "\n ----- Dimension 3 (Z) K2= " << k2 << endl; 1022 if ((size_[2] > 1) & ascd) 1023 cout << "\n ----- Dimension 3 (Z) K2= " << k2 << endl; 1018 1024 for(k1=0; k1<size_[1]; k1++) { 1019 if ( (size_[1] > 1) && (size_[0] > 10) ) cout << "----- Dimension 2 (Y) K1= " << k1 << endl; 1025 if ( (size_[1] > 1) && (size_[0] > 10) && ascd) 1026 cout << "----- Dimension 2 (Y) K1= " << k1 << endl; 1020 1027 for(k0=0; k0<size_[0]; k0++) { 1021 if(k0 > 0) os << " ,";1028 if(k0 > 0) os << " "; 1022 1029 os << Elem(k0, k1, k2, k3, k4); npr++; 1023 1030 if (npr >= (sa_size_t) maxprt) { … … 1040 1047 void TArray<T>::ReadASCII(istream& is) 1041 1048 { 1042 cerr << " TArray<T>::ReadASCII() - Pas encore implemente - Reza 12/6/2001 " << endl; 1049 EnumeratedSequence es; 1050 sa_size_t nr, nc; 1051 es.FillFromFile(is, nr, nc); 1043 1052 } 1044 1053 … … 1050 1059 void TArray<T>::WriteASCII(ostream& os) const 1051 1060 { 1052 Print(os, Size(), true);1061 Print(os, Size(), false, true); 1053 1062 } 1054 1063 -
trunk/SophyaLib/TArray/tarray.h
r1517 r1550 178 178 // Impression, I/O, ... 179 179 virtual string InfoString() const; 180 virtual void Print(ostream& os, int_4 maxprt=-1, bool si=false) const ; 180 virtual void Print(ostream& os, sa_size_t maxprt=-1, 181 bool si=false, bool ascd=false) const ; 181 182 182 183 // Lecture,Ecriture sur fichier ASCII -
trunk/SophyaLib/TArray/utilarr.cc
r1412 r1550 144 144 } 145 145 146 EnumeratedSequence & EnumeratedSequence::Merge(EnumeratedSequence const & seq) 147 { 148 for(int k=0; k<seq.vecv_.size(); k++) 149 vecv_.push_back(seq.vecv_[k]); 150 return(*this); 151 } 152 153 void EnumeratedSequence::Print(ostream& os) const 154 { 155 os << " EnumeratedSequence::Print() - Size()= " << Size() << endl; 156 for(int k=0; k<vecv_.size(); k++) { 157 os << vecv_[k]; 158 if ((k > 0) && (k%10 == 0)) os << endl; 159 else os << " " ; 160 } 161 return; 162 } 163 164 sa_size_t EnumeratedSequence::FillFromString(string const & str) 165 { 166 cerr << " EnumeratedSequence::FillFromString() pas implemente !" << endl; 167 return (0); 168 } 169 170 sa_size_t EnumeratedSequence::FillFromFile(istream& is, 171 sa_size_t& nr, sa_size_t& nc) 172 { 173 cerr << " EnumeratedSequence::FillFromFile() pas implemente !" << endl; 174 return (0); 175 } 176 146 177 ////////////////////////////////////////////////////////// 147 178 /*! -
trunk/SophyaLib/TArray/utilarr.h
r1517 r1550 88 88 }; 89 89 90 ////////////////////////////////////////////////////////// 91 //! Class for creation and handling of an explicitly defined list of values 92 90 93 class EnumeratedSequence : public Sequence { 91 94 public: … … 93 96 virtual ~EnumeratedSequence(); 94 97 virtual MuTyV & Value(sa_size_t k) const ; 98 99 inline sa_size_t Size() const { return vecv_.size(); } 100 95 101 EnumeratedSequence & operator , (MuTyV const & v); 96 102 EnumeratedSequence & operator = (MuTyV const & v); 103 104 EnumeratedSequence & Merge(EnumeratedSequence const & seq); 105 inline void Clear() { vecv_.clear(); } 106 void Print(ostream& os) const; 107 108 sa_size_t FillFromString(string const & str); 109 sa_size_t FillFromFile(istream& is, sa_size_t& nr, sa_size_t& nc); 110 97 111 private: 98 112 vector<MuTyV> vecv_; 99 113 mutable MuTyV retv_; 100 114 }; 115 116 inline ostream& operator << (ostream& os, const EnumeratedSequence& a) 117 { a.Print(os); return(os); } 101 118 102 119 //inline EnumeratedSequence operator , (MuTyV const & a, MuTyV const & b)
Note:
See TracChangeset
for help on using the changeset viewer.