1 #ifndef __BINARYOPERATORS_HH
2 #define __BINARYOPERATORS_HH
18 template <
class T,
unsigned int D>
class SVector;
19 template <
class T,
unsigned int D1,
unsigned int D2>
class SMatrix;
28 static inline T
apply(
const T& lhs,
const T& rhs) {
37 template <
class T,
unsigned int D>
49 template <
class A,
class T,
unsigned int D>
61 template <
class A,
class T,
unsigned int D>
73 template <
class A,
class B,
class T,
unsigned int D>
85 template <
class A,
class T,
unsigned int D>
96 template <
class A,
class T,
unsigned int D>
108 template <
class A,
class B,
class T,
unsigned int D>
119 template <
class A,
class B,
class T,
unsigned int D>
131 template <
class T,
unsigned int D,
unsigned int D2>
132 inline Expr<BinaryOp<AddOp<T>,
SMatrix<T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
143 template <
class A,
class T,
unsigned int D,
unsigned int D2>
144 inline Expr<BinaryOp<AddOp<T>,
Expr<A,T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
155 template <
class A,
class T,
unsigned int D,
unsigned int D2>
156 inline Expr<BinaryOp<AddOp<T>,
SMatrix<T,D,D2>,
Expr<A,T,D,D2>, T>, T, D, D2>
167 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
168 inline Expr<BinaryOp<AddOp<T>,
Expr<A,T,D,D2>,
Expr<B,T,D,D2>, T>, T, D, D2>
179 template <
class A,
class T,
unsigned int D,
unsigned int D2>
190 template <
class A,
class T,
unsigned int D,
unsigned int D2>
202 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
213 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
228 static inline T
apply(
const T& lhs,
const T& rhs) {
237 template <
class T,
unsigned int D>
249 template <
class A,
class T,
unsigned int D>
261 template <
class A,
class T,
unsigned int D>
273 template <
class A,
class B,
class T,
unsigned int D>
285 template <
class A,
class T,
unsigned int D>
296 template <
class A,
class T,
unsigned int D>
308 template <
class A,
class B,
class T,
unsigned int D>
319 template <
class A,
class B,
class T,
unsigned int D>
331 template <
class T,
unsigned int D,
unsigned int D2>
332 inline Expr<BinaryOp<MinOp<T>,
SMatrix<T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
343 template <
class A,
class T,
unsigned int D,
unsigned int D2>
344 inline Expr<BinaryOp<MinOp<T>,
Expr<A,T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
355 template <
class A,
class T,
unsigned int D,
unsigned int D2>
356 inline Expr<BinaryOp<MinOp<T>,
SMatrix<T,D,D2>,
Expr<A,T,D,D2>, T>, T, D, D2>
367 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
368 inline Expr<BinaryOp<MinOp<T>,
Expr<A,T,D,D2>,
Expr<B,T,D,D2>, T>, T, D, D2>
379 template <
class A,
class T,
unsigned int D,
unsigned int D2>
390 template <
class A,
class T,
unsigned int D,
unsigned int D2>
402 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
413 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
428 static inline T
apply(
const T& lhs,
const T& rhs) {
437 template <
class T,
unsigned int D>
449 template <
class A,
class T,
unsigned int D>
461 template <
class A,
class T,
unsigned int D>
473 template <
class A,
class B,
class T,
unsigned int D>
485 template <
class A,
class T,
unsigned int D>
496 template <
class A,
class T,
unsigned int D>
508 template <
class A,
class B,
class T,
unsigned int D>
519 template <
class A,
class B,
class T,
unsigned int D>
531 template <
class T,
unsigned int D,
unsigned int D2>
532 inline Expr<BinaryOp<MulOp<T>,
SMatrix<T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
543 template <
class A,
class T,
unsigned int D,
unsigned int D2>
544 inline Expr<BinaryOp<MulOp<T>,
Expr<A,T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
555 template <
class A,
class T,
unsigned int D,
unsigned int D2>
556 inline Expr<BinaryOp<MulOp<T>,
SMatrix<T,D,D2>,
Expr<A,T,D,D2>, T>, T, D, D2>
567 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
568 inline Expr<BinaryOp<MulOp<T>,
Expr<A,T,D,D2>,
Expr<B,T,D,D2>, T>, T, D, D2>
579 template <
class A,
class T,
unsigned int D,
unsigned int D2>
590 template <
class A,
class T,
unsigned int D,
unsigned int D2>
602 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
613 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
628 static inline T
apply(
const T& lhs,
const T& rhs) {
637 template <
class T,
unsigned int D>
649 template <
class A,
class T,
unsigned int D>
661 template <
class A,
class T,
unsigned int D>
673 template <
class A,
class B,
class T,
unsigned int D>
685 template <
class A,
class T,
unsigned int D>
696 template <
class A,
class T,
unsigned int D>
708 template <
class A,
class B,
class T,
unsigned int D>
719 template <
class A,
class B,
class T,
unsigned int D>
731 template <
class T,
unsigned int D,
unsigned int D2>
732 inline Expr<BinaryOp<DivOp<T>,
SMatrix<T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
743 template <
class A,
class T,
unsigned int D,
unsigned int D2>
744 inline Expr<BinaryOp<DivOp<T>,
Expr<A,T,D,D2>,
SMatrix<T,D,D2>, T>, T, D, D2>
755 template <
class A,
class T,
unsigned int D,
unsigned int D2>
756 inline Expr<BinaryOp<DivOp<T>,
SMatrix<T,D,D2>,
Expr<A,T,D,D2>, T>, T, D, D2>
767 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
768 inline Expr<BinaryOp<DivOp<T>,
Expr<A,T,D,D2>,
Expr<B,T,D,D2>, T>, T, D, D2>
779 template <
class A,
class T,
unsigned int D,
unsigned int D2>
790 template <
class A,
class T,
unsigned int D,
unsigned int D2>
802 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
813 template <
class A,
class B,
class T,
unsigned int D,
unsigned int D2>
Expr< BinaryOp< DivOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > operator/(const SVector< T, D > &lhs, const SVector< T, D > &rhs)
Definition: BinaryOperators.hh:639
Expr< BinaryOp< MulOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > operator*(const SVector< T, D > &lhs, const SVector< T, D > &rhs)
Definition: BinaryOperators.hh:439
Expr< BinaryOp< MinOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > operator-(const SVector< T, D > &lhs, const SVector< T, D > &rhs)
Definition: BinaryOperators.hh:239
Expr< BinaryOp< AddOp< T >, SVector< T, D >, SVector< T, D >, T >, T, D > operator+(const SVector< T, D > &lhs, const SVector< T, D > &rhs)
Definition: BinaryOperators.hh:39
Expr< BinaryOp< MulOp< T >, SMatrix< T, D, D2 >, SMatrix< T, D, D2 >, T >, T, D, D2 > times(const SMatrix< T, D, D2 > &lhs, const SMatrix< T, D, D2 > &rhs)
Definition: BinaryOperators.hh:533
Definition: BinaryOperators.hh:26
static T apply(const T &lhs, const T &rhs)
Definition: BinaryOperators.hh:28
Definition: Expression.hh:113
Definition: Expression.hh:172
Definition: BinaryOperators.hh:626
static T apply(const T &lhs, const T &rhs)
Definition: BinaryOperators.hh:628
Definition: Expression.hh:43
Definition: BinaryOperators.hh:226
static T apply(const T &lhs, const T &rhs)
Definition: BinaryOperators.hh:228
Definition: BinaryOperators.hh:426
static T apply(const T &lhs, const T &rhs)
Definition: BinaryOperators.hh:428
Definition: SMatrix.hh:53
Definition: SVector.hh:51