Changeset 1103 in Sophya for trunk/SophyaLib/TArray/utilarr.cc


Ignore:
Timestamp:
Jul 27, 2000, 2:00:10 AM (25 years ago)
Author:
ansari
Message:

Suite operations entre matrices de <> MemOrg, Amelioration des Sequences - Reza 27/7/2000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/TArray/utilarr.cc

    r935 r1103  
    77
    88// Classe utilitaires
     9
     10Sequence::~Sequence()
     11{
     12}
    913
    1014//////////////////////////////////////////////////////////
     
    2731  sig_ = s;
    2832}
     33RandomSequence::~RandomSequence()
     34{
     35}
    2936
    3037//! Return random sequence values.
     
    4148}
    4249
     50MuTyV & 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
    4357
    4458//////////////////////////////////////////////////////////
    4559/*!
    46   \class SOPHYA::Sequence
     60  \class SOPHYA::RegularSequence
    4761  \ingroup TArray
    4862  Class to generate a sequence of values
     
    5569  \param f : pointer to the sequence function
    5670
    57   See \ref SequenceOperat "operator()"
     71  See \ref RegularSequenceOperat "operator()"
    5872 */
    59 Sequence::Sequence(double start, double step, Arr_DoubleFunctionOfX f)
    60   : rseq_(RandomSequence::Gaussian)
     73RegularSequence::RegularSequence(double start, double step, Arr_DoubleFunctionOfX f)
    6174{
    6275  start_ = start;
    6376  step_ = step;
    6477  myf_ = f;
    65   fgrseq_ = false;
    6678}
    6779
    68 //! Constructor
    69 /*!
    70   \param rseq : RandomSequence
    71 
    72   See \ref SequenceOperat "operator()"
    73  */
    74 Sequence::Sequence(RandomSequence rseq)
     80RegularSequence::~RegularSequence()
    7581{
    76   start_ = 0.;
    77   step_ = 1.;
    78   myf_ = NULL; 
    79   rseq_ = rseq;
    80   fgrseq_ = true;
    8182}
    8283
     
    8485/*!
    8586  \param k : index of the value
    86   \anchor SequenceOperat
     87  \anchor RegularSequenceOperat
    8788
    8889  If the constructor was done with RandomSequence, return a RandomSequence
     
    9495  \return the \b k th value
    9596 */
    96 double Sequence::operator () (uint_4 k)
     97
     98MuTyV & RegularSequence::Value (uint_8 k) const
    9799{
    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
     106EnumeratedSequence::~EnumeratedSequence()
     107{
     108}
     109
     110MuTyV & EnumeratedSequence::Value (uint_8 k) const
     111{
     112  if (k >= vecv_.size())  retv_ = 0;
     113  else retv_ = vecv_[k];
     114  return(retv_);
     115}
     116
     117EnumeratedSequence & EnumeratedSequence::operator , (MuTyV const & v)
     118{
     119  vecv_.push_back(v);
     120  return(*this);
    104121}
    105122
Note: See TracChangeset for help on using the changeset viewer.