Changeset 1103 in Sophya for trunk/SophyaLib/TArray/utilarr.cc
- Timestamp:
- Jul 27, 2000, 2:00:10 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/TArray/utilarr.cc
r935 r1103 7 7 8 8 // Classe utilitaires 9 10 Sequence::~Sequence() 11 { 12 } 9 13 10 14 ////////////////////////////////////////////////////////// … … 27 31 sig_ = s; 28 32 } 33 RandomSequence::~RandomSequence() 34 { 35 } 29 36 30 37 //! Return random sequence values. … … 41 48 } 42 49 50 MuTyV & RandomSequence::Value(uint_8 k) const 51 { 52 if (typ_ == Flat) retv_ = drandpm1()*sig_ + mean_; 53 else retv_ = GauRnd(mean_, sig_); 54 return retv_; 55 } 56 43 57 44 58 ////////////////////////////////////////////////////////// 45 59 /*! 46 \class SOPHYA:: Sequence60 \class SOPHYA::RegularSequence 47 61 \ingroup TArray 48 62 Class to generate a sequence of values … … 55 69 \param f : pointer to the sequence function 56 70 57 See \ref SequenceOperat "operator()"71 See \ref RegularSequenceOperat "operator()" 58 72 */ 59 Sequence::Sequence(double start, double step, Arr_DoubleFunctionOfX f) 60 : rseq_(RandomSequence::Gaussian) 73 RegularSequence::RegularSequence(double start, double step, Arr_DoubleFunctionOfX f) 61 74 { 62 75 start_ = start; 63 76 step_ = step; 64 77 myf_ = f; 65 fgrseq_ = false;66 78 } 67 79 68 //! Constructor 69 /*! 70 \param rseq : RandomSequence 71 72 See \ref SequenceOperat "operator()" 73 */ 74 Sequence::Sequence(RandomSequence rseq) 80 RegularSequence::~RegularSequence() 75 81 { 76 start_ = 0.;77 step_ = 1.;78 myf_ = NULL;79 rseq_ = rseq;80 fgrseq_ = true;81 82 } 82 83 … … 84 85 /*! 85 86 \param k : index of the value 86 \anchor SequenceOperat87 \anchor RegularSequenceOperat 87 88 88 89 If the constructor was done with RandomSequence, return a RandomSequence … … 94 95 \return the \b k th value 95 96 */ 96 double Sequence::operator () (uint_4 k) 97 98 MuTyV & RegularSequence::Value (uint_8 k) const 97 99 { 98 if (fgrseq_) return(rseq_.Rand()); 99 else { 100 double x = start_+(double)k*step_; 101 if (myf_) return(myf_(x)); 102 else return x; 103 } 100 double x = start_+(double)k*step_; 101 if (myf_) x = myf_(x); 102 retv_ = x; 103 return(retv_); 104 } 105 106 EnumeratedSequence::~EnumeratedSequence() 107 { 108 } 109 110 MuTyV & EnumeratedSequence::Value (uint_8 k) const 111 { 112 if (k >= vecv_.size()) retv_ = 0; 113 else retv_ = vecv_[k]; 114 return(retv_); 115 } 116 117 EnumeratedSequence & EnumeratedSequence::operator , (MuTyV const & v) 118 { 119 vecv_.push_back(v); 120 return(*this); 104 121 } 105 122
Note:
See TracChangeset
for help on using the changeset viewer.