37#ifndef STK_BINARYSELECTOR_H
38#define STK_BINARYSELECTOR_H
50template<
typename Lhs,
typename Rhs,
int operatorType_>
55template<
typename Functor,
typename Lhs,
typename Rhs,
bool isNumber>
58template<
typename Functor,
typename Lhs,
typename Rhs>
67 {
return Result(lhs.asDerived(), Functor(rhs.elt()) );}
70template<
typename Functor,
typename Lhs,
typename Rhs>
79 {
return Result(lhs.asDerived(), rhs.asDerived());}
84template<
typename Lhs,
typename Rhs,
typename UnaryFunctor,
typename BinaryFunctor>
104 {
return BinaryResult(lhs.asDerived(), rhs.asDerived());}
113template<
typename Lhs,
typename Rhs>
121 typedef typename Selector::Result
Result;
126template<
typename Lhs,
typename Rhs>
134 typedef typename Selector::Result
Result;
139template<
typename Lhs,
typename Rhs>
147 typedef typename Selector::Result
Result;
152template<
typename Lhs,
typename Rhs>
160 typedef typename Selector::Result
Result;
165template<
typename Lhs,
typename Rhs>
173 typedef typename Selector::Result
Result;
178template<
typename Lhs,
typename Rhs>
186 typedef typename Selector::Result
Result;
191template<
typename Lhs,
typename Rhs>
199 typedef typename Selector::Result
Result;
204template<
typename Lhs,
typename Rhs>
212 typedef typename Selector::Result
Result;
217template<
typename Lhs,
typename Rhs>
225 typedef typename Selector::Result
Result;
230template<
typename Lhs,
typename Rhs>
238 typedef typename Selector::Result
Result;
243template<
typename Lhs,
typename Rhs>
251 typedef typename Selector::Result
Result;
256template<
typename Lhs,
typename Rhs>
264 typedef typename Selector::Result
Result;
269template<
typename Lhs,
typename Rhs>
277 typedef typename Selector::Result
Result;
282template<
typename Lhs,
typename Rhs>
290 typedef typename Selector::Result
Result;
295template<
typename Lhs,
typename Rhs>
303 typedef typename Selector::Result
Result;
308template<
typename Lhs,
typename Rhs>
316 typedef typename Selector::Result
Result;
321template<
typename Lhs,
typename Rhs>
329 typedef typename Selector::Result
Result;
334template<
typename Lhs,
typename Rhs>
342 typedef typename Selector::Result
Result;
The MultidimRegression class allows to regress a multidimensional output variable among a multivariat...
@ number_
(1,1) matrix/vector/array/expression (like a number)
The namespace STK is the main domain space of the Statistical ToolKit project.
allow to disambiguate the case expr + number from the case expr + other_expr
UnaryResult const unaryRun(ExprBase< Lhs > const &lhs, ExprBase< Rhs > const &rhs)
If< bool(isUnary_), UnaryResult, BinaryResult >::Result Result
hidden::Traits< Rhs >::Type RType
static BinaryResult const binaryRun(ExprBase< Lhs > const &lhs, ExprBase< Rhs > const &rhs)
If< bool(isUnary_), UnaryFunctor, BinaryFunctor >::Result Functor
hidden::Traits< Lhs >::Type LType
UnaryOperator< UnaryFunctor, Lhs > UnaryResult
BinaryOperator< BinaryFunctor, Lhs, Rhs > BinaryResult
static Result const run(ExprBase< Lhs > const &lhs, ExprBase< Rhs > const &rhs)
hidden::Traits< Lhs >::Type LType
BinaryOperator< Functor, Lhs, Rhs > Result
static Result const run(ExprBase< Lhs > const &lhs, ExprBase< Rhs > const &rhs)
hidden::Traits< Rhs >::Type RType
hidden::Traits< Rhs >::Type Rtype
static Result const run(ExprBase< Lhs > const &lhs, ExprBase< Rhs > const &rhs)
hidden::Traits< Lhs >::Type Ltype
UnaryOperator< Functor, Lhs > Result
allow to disambiguate the case expr + number from the case expr + other_expr
OperatorHelper< Lhs, Rhs, BitwiseAndWithOp< typename hidden::Traits< Lhs >::Type >, BitwiseAndOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, BitwiseOrWithOp< typename hidden::Traits< Lhs >::Type >, BitwiseOrOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, BitwiseXorWithOp< typename hidden::Traits< Lhs >::Type >, BitwiseXorOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, DifferenceWithOp< typename hidden::Traits< Lhs >::Type >, DifferenceOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, DivisionWithOp< typename hidden::Traits< Lhs >::Type >, DivisionOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, EqualWithOp< typename hidden::Traits< Lhs >::Type >, EqualOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, GreaterThanOp< typename hidden::Traits< Lhs >::Type >, GreaterOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, GeqThanOp< typename hidden::Traits< Lhs >::Type >, GeqOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, LessThanOp< typename hidden::Traits< Lhs >::Type >, LessOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, LeqThanOp< typename hidden::Traits< Lhs >::Type >, LeqOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, LogicalAndWithOp< typename hidden::Traits< Lhs >::Type >, LogicalAndOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, LogicalOrWithOp< typename hidden::Traits< Lhs >::Type >, LogicalOrOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, MaxWithOp< typename hidden::Traits< Lhs >::Type >, MaxOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, MinWithOp< typename hidden::Traits< Lhs >::Type >, MinOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, ModuloWithOp< typename hidden::Traits< Lhs >::Type >, ModuloOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, NotEqualWithOp< typename hidden::Traits< Lhs >::Type >, NotEqualOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, ProductWithOp< typename hidden::Traits< Lhs >::Type >, ProductOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
OperatorHelper< Lhs, Rhs, SumWithOp< typename hidden::Traits< Lhs >::Type >, SumOp< typename hidden::Traits< Rhs >::Type, typename hidden::Traits< Rhs >::Type > > Selector
helper defining the return type of the selector involving expressions of the form expr + number and e...