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