Ignore:
Timestamp:
Mar 5, 2007, 10:17:31 PM (16 years ago)
Author:
Jari Häkkinen
Message:

Fixes #195.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/utility/vector.cc

    r775 r782  
    229229
    230230
    231   bool vector::isnull(void) const
    232   {
    233     return gsl_vector_isnull(proxy_v_);
    234   }
    235 
    236 
    237231  bool vector::isview(void) const
    238232  {
    239233    return view_ || view_const_;
    240   }
    241 
    242 
    243   double vector::max(void) const
    244   {
    245     return gsl_vector_max(proxy_v_);
    246   }
    247 
    248 
    249   size_t vector::max_index(void) const
    250   {
    251     return gsl_vector_max_index(proxy_v_);
    252   }
    253 
    254 
    255   double vector::min(void) const
    256   {
    257     return gsl_vector_min(proxy_v_);
    258   }
    259 
    260 
    261   size_t vector::min_index(void) const
    262   {
    263     return gsl_vector_min_index(proxy_v_);
    264   }
    265 
    266 
    267   std::pair<double,double> vector::minmax(void) const
    268   {
    269     double min, max;
    270     gsl_vector_minmax(proxy_v_, &min, &max);
    271     return std::pair<double,double>(min,max);
    272   }
    273 
    274 
    275   std::pair<size_t,size_t> vector::minmax_index(void) const
    276   {
    277     size_t min_index, max_index;
    278     gsl_vector_minmax_index(proxy_v_, &min_index, &max_index);
    279     return std::pair<size_t,size_t>(min_index,max_index);
    280234  }
    281235
     
    305259  {
    306260    gsl_vector_set_all(v_,value);
    307   }
    308 
    309 
    310   void vector::set_basis(const size_t i)
    311   {
    312     gsl_vector_set_basis(v_,i);
    313   }
    314 
    315 
    316   void vector::set_zero(void)
    317   {
    318     gsl_vector_set_zero(v_);
    319261  }
    320262
     
    328270
    329271
    330   void vector::sort(void)
    331   {
    332     gsl_sort_vector(v_);
    333   }
    334 
    335 
    336   double vector::sum(void) const
    337   {
    338     double sum = 0;
    339     for (size_t i=0; i<size(); i++)
    340       sum += (*this)(i);
    341     return( sum );
    342   }
    343 
    344 
    345   void vector::swap(vector& other)
    346   {
    347     int status=gsl_vector_swap(v_,other.v_);
    348     if (status)
    349       throw utility::GSL_error(std::string("vector::swap",status));
    350   }
    351 
    352 
    353   void vector::swap_elements(size_t i, size_t j)
     272  void vector::swap(size_t i, size_t j)
    354273  {
    355274    int status=gsl_vector_swap_elements(v_, i, j);
     
    459378
    460379
     380  bool isnull(const vector& v)
     381  {
     382    return gsl_vector_isnull(v.gsl_vector_p());
     383  }
     384
     385
     386  double max(const vector& v)
     387  {
     388    return gsl_vector_max(v.gsl_vector_p());
     389  }
     390
     391
     392  size_t max_index(const vector& v)
     393  {
     394    return gsl_vector_max_index(v.gsl_vector_p());
     395  }
     396
     397
     398  double min(const vector& v)
     399  {
     400    return gsl_vector_min(v.gsl_vector_p());
     401  }
     402
     403
     404  size_t min_index(const vector& v)
     405  {
     406    return gsl_vector_min_index(v.gsl_vector_p());
     407  }
     408
     409
     410  std::pair<double,double> minmax(const vector& v)
     411  {
     412    std::pair<double,double> minmax;
     413    gsl_vector_minmax(v.gsl_vector_p(), &minmax.first, &minmax.second);
     414    return minmax;
     415  }
     416
     417
     418  std::pair<size_t,size_t> minmax_index(const vector& v)
     419  {
     420    std::pair<size_t,size_t> minmax;
     421    gsl_vector_minmax_index(v.gsl_vector_p(), &minmax.first, &minmax.second);
     422    return minmax;
     423  }
     424
     425
     426  void set_basis(vector& v, size_t i)
     427  {
     428    gsl_vector_set_basis(v.gsl_vector_p(),i);
     429  }
     430
     431
     432  void sort(vector& v)
     433  {
     434    gsl_sort_vector(v.gsl_vector_p());
     435  }
     436
     437
     438  double sum(const vector& v)
     439  {
     440    double sum = 0;
     441    size_t vsize=v.size();
     442    for (size_t i=0; i<vsize; ++i)
     443      sum += v[i];
     444    return sum;
     445  }
     446
     447
     448  void swap(vector& v, vector& w)
     449  {
     450    int status=gsl_vector_swap(v.gsl_vector_p(),w.gsl_vector_p());
     451    if (status)
     452      throw utility::GSL_error(std::string("swap(vector&,vector&)",status));
     453  }
     454
     455
    461456  std::ostream& operator<<(std::ostream& s, const vector& a)
    462457  {
Note: See TracChangeset for help on using the changeset viewer.