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/test/test_vector.cc

    r127 r257  
    11// $Id$
    22
    3 // C++ tools include
    4 ////////////////////
    53#include "vector.h"
    64
    7 using namespace std;
    8 
    9 int main()
    10 
     5int main(const int argc,const char* argv[])
    116
    127  bool ok = true;
    13   theplu::gslapi::vector vec(10);
     8
     9  theplu::gslapi::vector vec(12);
    1410  for (unsigned int i=0; i<vec.size(); i++)
    1511    vec(i)=i;
     12
     13  // checking that shuffle works
    1614  double sum_before = vec.sum();
    1715  vec.shuffle();
     
    1917  if (sum_after != sum_before)
    2018    ok = false;
    21  
    22   if (ok)
     19
     20  // checking that view works
     21  sum_before=0;
     22  for (unsigned int i=0; i<vec.size(); i+=2)
     23    sum_before+=vec[i];
     24  theplu::gslapi::vector vec_view(vec,0,6,2);
     25  sum_after=vec_view.sum();
     26  if (sum_after != sum_before)
     27    ok = false;
     28  vec[0]=0;
     29  vec_view[0]=24;
     30  if (vec[0]!=vec_view[0])
     31    ok=false;
     32
     33  // checking that copy contrutor creates an independent object
     34  theplu::gslapi::vector vec2(vec);
     35  if (vec.size()!=vec2.size())
     36    ok=false;
     37  if (&vec2 == &vec)
     38    ok=false;
     39  if (vec2.isview())
     40    ok=false;
     41
     42  // checking that copy contrutor creates an independent object when
     43  // copying a view
     44  vec2=vec_view;
     45  if (vec_view.size()!=vec2.size())
     46    ok=false;
     47  if ((&vec2 == &vec_view) || (&vec2 == &vec))
     48    ok=false;
     49  if (vec2.isview())
     50    ok=false;
     51  vec2[0]=0;
     52  vec_view[0]=24;
     53  if (vec2[0]==vec_view[0])
     54    ok=false;
     55
     56  if (ok) {
     57    std::cout << "test_vector: SUCCESS\n";
    2358    return 0;
     59  }
     60  std::cerr << "test_vector: FAILED\n";
    2461  return -1;
    2562}
Note: See TracChangeset for help on using the changeset viewer.