Changeset 257 for trunk/src/vector.cc


Ignore:
Timestamp:
Mar 4, 2005, 1:53:34 AM (18 years ago)
Author:
Jari Häkkinen
Message:

Added vector views and made vector member functions to be non-member functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/vector.cc

    r227 r257  
    3939  {
    4040    v_ = other.TEMP_gsl_vector_copy();
     41  }
     42
     43
     44
     45  vector::vector(vector& v, size_t offset, size_t n, size_t stride)
     46  {
     47    view_ = new gsl_vector_view(gsl_vector_subvector_with_stride(v.v_,offset,
     48                                                                 stride,n));
     49    v_ = &(view_->vector);
    4150  }
    4251
     
    125134  vector::~vector(void)
    126135  {
    127     if (v_) {
     136    if (view_)
     137      delete view_;
     138    else if (v_)
    128139      gsl_vector_free(v_);
    129       v_=NULL;
    130     }
    131     delete view_;
     140    v_=NULL;
    132141  }
    133142
     
    160169
    161170
    162 
    163 /* Jari, remove this section
    164   std::pair<size_t,size_t> vector::minmax_index(const std::vector<size_t>& subset ) const
    165   {
    166     size_t min_index = subset[0];
    167     size_t max_index = subset[0];
    168     for (unsigned int i=1; i<subset.size(); i++) {
    169       if (gsl_vector_get( v_, subset[i]) < gsl_vector_get( v_, min_index))
    170         min_index = subset[i];
    171       else if (gsl_vector_get( v_, subset[i]) > gsl_vector_get( v_, max_index))
    172         max_index = subset[i];
    173     }
    174     return std::pair<size_t,size_t>(min_index, max_index);
    175   }
    176 */
    177171
    178172  void vector::shuffle(void) const
Note: See TracChangeset for help on using the changeset viewer.