22 #ifndef _vctBinaryOperations_h
23 #define _vctBinaryOperations_h
61 template<
class _outputType,
class _input1Type = _outputType,
class _input2Type = _outputType>
209 return (input1 > input2) ? input1 : input2;
234 return (input1 < input2) ? input1 : input2;
263 }
else if (input < -bound) {
458 return OutputType( (-input2 <= input1) && (input1 <= input2) );
475 return input1.DotProduct(input2);
492 static inline bool Operate(
const bool & input1,
const bool & input2) {
493 return (input1|input2);
503 #endif // _vctBinaryOperations_h
Returns the sum of the two InputType object.
Definition: vctBinaryOperations.h:72
bool OutputType
Definition: vctBinaryOperations.h:365
_outputType OutputType
Definition: vctBinaryOperations.h:118
_outputType OutputType
Definition: vctBinaryOperations.h:304
Returns the difference of the two InputType object.
Definition: vctBinaryOperations.h:94
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:212
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:310
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:411
_outputType OutputType
Definition: vctBinaryOperations.h:345
static OutputType NeutralElement(void)
Definition: vctBinaryOperations.h:269
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:80
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:290
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
_outputType OutputType
Definition: vctBinaryOperations.h:405
Test if input1 is lesser than input2.
Definition: vctBinaryOperations.h:322
Return the greater of (input1, input2).
Definition: vctBinaryOperations.h:200
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:457
static bool Operate(const bool &input1, const bool &input2)
Definition: vctBinaryOperations.h:492
_outputType OutputType
Definition: vctBinaryOperations.h:473
_outputType OutputType
Definition: vctBinaryOperations.h:386
Test for non equality between input1 and input2.
Definition: vctBinaryOperations.h:302
Returns the ratio of the two InputType object.
Definition: vctBinaryOperations.h:138
_outputType OutputType
Definition: vctBinaryOperations.h:202
_input1Type Input1Type
Definition: vctBinaryOperations.h:65
Test for equality between input1 and input2.
Definition: vctBinaryOperations.h:282
static const OutputType & Operate(const OutputType &input1, const OutputType &input2)
Definition: vctBinaryOperations.h:233
_outputType OutputType
Definition: vctBinaryOperations.h:140
static const OutputType Operate(const OutputType &bound, const OutputType &input)
Definition: vctBinaryOperations.h:260
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:330
Return the -input2 in input1 is lesser than -input2, input2 if input 1 is greater than input2 and inp...
Definition: vctBinaryOperations.h:252
Define binary operations between objects as classes.
Definition: vctBinaryOperations.h:62
static OutputType Operate(const Input1Type &input1, const Input2Type &CMN_UNUSED(input2))
Definition: vctBinaryOperations.h:169
Test if input1 is greater than input2.
Definition: vctBinaryOperations.h:363
Dot product.
Definition: vctBinaryOperations.h:471
_outputType OutputType
Definition: vctBinaryOperations.h:96
_outputType OutputType
Definition: vctBinaryOperations.h:284
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:439
Test if input1 is greater than or equal to input2.
Definition: vctBinaryOperations.h:384
_input2Type Input2Type
Definition: vctBinaryOperations.h:66
Declaration of the class cmnTypeTraits.
Return the first operand of (input1, input2), i.e., input1.
Definition: vctBinaryOperations.h:161
static const OutputType & Operate(const OutputType &input1, const OutputType &input2)
Definition: vctBinaryOperations.h:208
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:128
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:392
static OutputType Operate(const Input1Type &CMN_UNUSED(input1), const Input2Type &input2)
Definition: vctBinaryOperations.h:188
static OutputType Operate(const OutputType &input1, const OutputType &input2)
Definition: vctBinaryOperations.h:435
Return the second operand of (input1, input2), i.e., input2.
Definition: vctBinaryOperations.h:180
_outputType OutputType
Definition: vctBinaryOperations.h:227
_outputType OutputType
Definition: vctBinaryOperations.h:64
Logical And operator between input1 and input2.
Definition: vctBinaryOperations.h:403
Test if the first argument is bound by the second argument.
Definition: vctBinaryOperations.h:454
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:351
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:102
Test if input1 is lesser than or equal to input2.
Definition: vctBinaryOperations.h:343
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:84
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:146
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:474
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:415
static CISST_EXPORT Type MaxPositiveValue(void)
_outputType OutputType
Definition: vctBinaryOperations.h:254
Return the lesser of (input1, input2).
Definition: vctBinaryOperations.h:225
_outputType OutputType
Definition: vctBinaryOperations.h:163
static bool NeutralElement()
Definition: vctBinaryOperations.h:496
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:124
static CISST_EXPORT Type MinNegativeValue(void)
static OutputType Operate(const Input1Type &input1, const Input2Type &input2)
Definition: vctBinaryOperations.h:371
Returns the product of the two InputType object.
Definition: vctBinaryOperations.h:116
_outputType OutputType
Definition: vctBinaryOperations.h:456
_outputType OutputType
Definition: vctBinaryOperations.h:429
_outputType OutputType
Definition: vctBinaryOperations.h:74
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:237
_outputType OutputType
Definition: vctBinaryOperations.h:324
Logical Or operator between input1 and input2.
Definition: vctBinaryOperations.h:427
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:106
static OutputType NeutralElement()
Definition: vctBinaryOperations.h:150
_outputType OutputType
Definition: vctBinaryOperations.h:182