33#ifndef BLAS_VEC_INTERFACE_H_
34#define BLAS_VEC_INTERFACE_H_
48template<
typename vector_t>
51 for(
size_t i=0; i<dest.size(); i++)
57template<
typename vector_t>
58inline void VecAssign(vector_t &dest,
const vector_t &v1)
60 for(
size_t i=0; i<dest.size(); i++)
58inline void VecAssign(vector_t &dest,
const vector_t &v1) {
…}
66template<
typename vector_t>
67inline void VecScaleAdd(vector_t &dest,
double alpha1,
const vector_t &v1,
double alpha2,
const vector_t &v2);
70template<
typename vector_t>
71inline void VecScaleAdd(vector_t &dest,
double alpha1,
const vector_t &v1,
double alpha2,
const vector_t &v2,
double alpha3,
const vector_t &v3);
75template<
typename vector_t>
76inline void VecAdd(vector_t &dest, vector_t &v);
79template<
typename vector_t>
86template<
typename vector_t>
87inline void VecProdAdd(
const vector_t &a,
const vector_t &b,
double &sum)
89 for(
size_t i=0; i<a.size(); i++)
VecProdAdd(a[i], b[i], sum);
87inline void VecProdAdd(
const vector_t &a,
const vector_t &b,
double &sum) {
…}
93template<
typename vector_t>
94inline double VecProd(
const vector_t &a,
const vector_t &b)
94inline double VecProd(
const vector_t &a,
const vector_t &b) {
…}
104template<
typename vector_t>
111template<
typename vector_t>
void VecScaleAdd(vector_t &dest, double alpha1, const vector_t &v1, double alpha2, const vector_t &v2)
calculates dest = alpha1*v1 + alpha2*v2
void VecAdd(vector_t &dest, vector_t &v)
calculates dest = dest + v
void VecAssign(vector_t &dest, const vector_t &v1)
calculates dest = v1
Definition blas_vec_interface.h:58
double VecProd(const vector_t &a, const vector_t &b)
returns scal<a, b>
Definition blas_vec_interface.h:94
void VecProdAdd(const vector_t &a, const vector_t &b, double &sum)
calculates s += scal<a, b>
Definition blas_vec_interface.h:87
double VecNormSquared(const vector_t &a, const vector_t &b)
returns norm_2^2(a)
Definition blas_vec_interface.h:112
void VecSubstract(vector_t &dest, vector_t &v)
calculates dest = dest - v
void VecNormSquaredAdd(const vector_t &a, const vector_t &b, double &sum)
calculates s += norm_2^2(a)
Definition blas_vec_interface.h:105
void VecScaleAssign(double &dest, double alpha1, const double &v1)
calculates dest = alpha1*v1. for doubles
Definition blas_vec_interface.h:39