10 #ifndef __GSL_BLAS_H__
11 #include <gsl/gsl_blas.h>
13 #ifndef GSLPP_VECTOR_DOUBLE_H
16 #ifndef GSLPP_VECTOR_COMPLEX_H
25 _vector = gsl_vector_alloc(size);
26 gsl_vector_set_all(_vector, a);
31 _vector = gsl_vector_alloc(size);
32 gsl_vector_set_all(_vector, 0.);
38 _vector = gsl_vector_alloc(v.
size());
44 _vector = gsl_vector_alloc(v.size);
45 gsl_vector_memcpy(_vector, &v);
50 _vector = gsl_vector_alloc(v->size);
51 gsl_vector_memcpy(_vector, v);
57 gsl_vector_free(_vector);
63 const double *x = gsl_vector_const_ptr(_vector, i);
70 double *x = gsl_vector_ptr(_vector, i);
77 gsl_vector_set_zero(_vector);
96 return gsl_blas_dnrm2(_vector);
102 return gsl_vector_max(_vector);
108 return gsl_vector_min(_vector);
119 return const_cast<gsl_vector&>(*_vector);
124 return const_cast<gsl_vector&>(*_vector);
133 std::cout <<
"\n Error in vector<double> unary -" << std::endl;
145 std::cout <<
"\n Error in vector<double> +" << std::endl;
161 std::cout <<
"\n Error in vector<double> -" << std::endl;
178 std::cout <<
"\n Error in vector<double> *" << std::endl;
215 std::cout <<
"\n Error in vector<double> + (double)" << std::endl;
226 std::cout <<
"\n Error in vector<double> - (double)" << std::endl;
237 std::cout <<
"\n Error in vector<double> * (double)" << std::endl;
248 std::cout <<
"\n Error in vector<double> / (double)" << std::endl;
304 if(a.
size() != size())
306 std::cout <<
"\n Error in vector<double>::operator== (vector): cannot compare vectors of different size" << std::endl;
309 for(
size_t i = 0; i < size(); i++)
310 if(a(i) != (*this)(i))
return(
false);
319 for (i=0; i<v.
size()-1; i++)
320 output << v(i) <<
",";
321 output << v(i) <<
")";