32 #ifndef BZ_TVECGLOBS_H
33 #define BZ_TVECGLOBS_H
35 #include <blitz/meta/metaprog.h>
39 #include <blitz/meta/dot.h>
40 #include <blitz/meta/product.h>
41 #include <blitz/meta/sum.h>
45 template<
typename T_numtype1,
typename T_numtype2,
int N_length>
50 return _bz_meta_vectorDot<N_length, 0>::f(a,b);
53 template<
typename T_numtype1,
int N_length>
55 product(const TinyVector<T_numtype1, N_length>&
a)
57 return _bz_meta_vectorProduct<N_length, 0>::f(a);
60 template<
typename T_numtype,
int N_length>
62 sum(const TinyVector<T_numtype, N_length>&
a)
64 return _bz_meta_vectorSum<N_length, 0>::f(a);
69 template<
typename T_ret>
73 template<
typename T_numtype1,
typename T_numtype2,
int N_length>
78 return _bz_meta_vectorDotRet<N_length, 0, T_ret>::f(a,b);
81 template<
typename T_numtype1,
int N_length>
85 return _bz_meta_vectorProductRet<N_length, 0, T_ret>::f(a);
88 template<
typename T_numtype,
int N_length>
92 return _bz_meta_vectorSumRet<N_length, 0, T_ret>::f(a);
99 #endif // BZ_TVECGLOBS_H
Definition: tvecglobs.h:70
static T_ret product(const TinyVector< T_numtype1, N_length > &a)
Definition: tvecglobs.h:83
BZ_PROMOTE(T_numtype1, T_numtype2) dot(const TinyVector< T_numtype1
Definition: array-impl.h:66
BZ_SUMTYPE(T_numtype1) product(const TinyVector< T_numtype1
static T_ret dot(const TinyVector< T_numtype1, N_length > &a, const TinyVector< T_numtype2, N_length > &b)
Definition: tvecglobs.h:75
N_length & a
Definition: tvecglobs.h:47
static T_ret sum(const TinyVector< T_numtype, N_length > &a)
Definition: tvecglobs.h:90
N_length const TinyVector< T_numtype2, N_length > & b
Definition: tvecglobs.h:49
The TinyVector class is a one-dimensional, fixed length vector that implements the blitz expression t...
Definition: et-forward.h:14