1 #ifndef VECTOR_EXTENSSION_H
2 #define VECTOR_EXTENSSION_H
4 #include <boost/numeric/ublas/vector.hpp>
6 namespace boost {
namespace numeric {
namespace ublas {
8 template<
class E1,
class E2>
10 typename vector_binary_traits<E1, E2,
11 scalar_multiplies<
typename E1::value_type,
12 typename E2::value_type> >::result_type
13 mul (
const vector_expression<E1> &e1,
14 const vector_expression<E2> &e2) {
16 vector_binary_traits<E1, E2,
18 typename E1::value_type,
19 typename E2::value_type> >::expression_type expression_type;
20 return expression_type (e1 (), e2 ());
23 template<
class E1,
class E2>
25 typename vector_binary_traits<E1, E2,
26 scalar_divides<
typename E1::value_type,
27 typename E2::value_type> >::result_type
28 div (
const vector_expression<E1> &e1,
29 const vector_expression<E2> &e2) {
31 vector_binary_traits<E1, E2,
33 typename E1::value_type,
34 typename E2::value_type> >::expression_type expression_type;
35 return expression_type (e1 (), e2 ());
40 #endif // VECTOR_EXTENSSION_H