32 #ifndef PETE_PETE_OPERATORTAGS_H 33 #define PETE_PETE_OPERATORTAGS_H 277 template<
class T1,
class T2>
286 template<
class T1,
class T2>
296 template<
class T1,
class T2>
306 template<
class T1,
class T2>
316 template<
class T1,
class T2>
326 template<
class T1,
class T2>
336 template<
class T1,
class T2>
346 template<
class T1,
class T2>
356 template<
class T1,
class T2>
366 template<
class T1,
class T2>
369 return (
ldexp(a, b));
376 template<
class T1,
class T2>
386 template<
class T1,
class T2>
396 template<
class T1,
class T2>
399 return (
atan2(a, b));
406 template<
class T1,
class T2>
413 template<
class T1,
class T2>
422 template<
class T1,
class T2>
429 template<
class T1,
class T2>
438 template<
class T1,
class T2>
445 template<
class T1,
class T2>
454 template<
class T1,
class T2>
461 template<
class T1,
class T2>
470 template<
class T1,
class T2>
477 template<
class T1,
class T2>
486 template<
class T1,
class T2>
493 template<
class T1,
class T2>
502 template<
class T1,
class T2>
509 template<
class T1,
class T2>
518 template<
class T1,
class T2>
525 template<
class T1,
class T2>
534 template<
class T1,
class T2>
541 template<
class T1,
class T2>
550 template<
class T1,
class T2>
557 template<
class T1,
class T2>
566 template<
class T1,
class T2>
569 (
const_cast<T1&
>(a) += b);
570 return const_cast<T1&
>(a);
574 template<
class T1,
class T2>
583 template<
class T1,
class T2>
586 (
const_cast<T1&
>(a) -= b);
587 return const_cast<T1&
>(a);
591 template<
class T1,
class T2>
600 template<
class T1,
class T2>
603 (
const_cast<T1&
>(a) *= b);
604 return const_cast<T1&
>(a);
608 template<
class T1,
class T2>
617 template<
class T1,
class T2>
620 (
const_cast<T1&
>(a) /= b);
621 return const_cast<T1&
>(a);
625 template<
class T1,
class T2>
634 template<
class T1,
class T2>
637 (
const_cast<T1&
>(a) %= b);
638 return const_cast<T1&
>(a);
642 template<
class T1,
class T2>
651 template<
class T1,
class T2>
654 (
const_cast<T1&
>(a) |= b);
655 return const_cast<T1&
>(a);
659 template<
class T1,
class T2>
668 template<
class T1,
class T2>
671 (
const_cast<T1&
>(a) &= b);
672 return const_cast<T1&
>(a);
676 template<
class T1,
class T2>
685 template<
class T1,
class T2>
688 (
const_cast<T1&
>(a) ^= b);
689 return const_cast<T1&
>(a);
693 template<
class T1,
class T2>
702 template<
class T1,
class T2>
705 (
const_cast<T1&
>(a) <<= b);
706 return const_cast<T1&
>(a);
710 template<
class T1,
class T2>
719 template<
class T1,
class T2>
722 (
const_cast<T1&
>(a) >>= b);
723 return const_cast<T1&
>(a);
727 template<
class T1,
class T2>
736 template<
class T1,
class T2>
739 return (const_cast<T1&>(a) = b);
743 template<
class T1,
class T2>
752 template<
class T1,
class T2,
class T3>
763 #endif // PETE_PETE_OPERATORTAGS_H typename Promote< T1, T2 >::Type_t Type_t
BinaryReturn< T1, T2, OpSubtract >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnFabs >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpSubtractAssign >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, OpUnaryMinus >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpAnd >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpGE >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpEQ >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpMultiplyAssign >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnCeil >::Type_t operator()(const T &a) const
helper functions for EinsplineSetBuilder
MakeReturn< UnaryNode< FnHypSin, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sinh(const Vector< T1, C1 > &l)
UnaryReturn< T, OpIdentity >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpBitwiseAndAssign >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< BinaryNode< FnFmod, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t fmod(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnFabs, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t abs(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpModAssign >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnArcTan2 >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< BinaryNode< FnLdexp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t ldexp(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnSin, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sin(const Vector< T1, C1 > &l)
UnaryReturn< T, FnArcCos >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpBitwiseOrAssign >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpNE >::Type_t operator()(const T1 &a, const T2 &b) const
TrinaryReturn< T1, T2, T3, FnWhere >::Type_t operator()(T1 &a, const T2 &b, const T3 &c) const
UnaryReturn< T, FnTan >::Type_t operator()(const T &a) const
typename BinaryReturn< T2, T3, Op >::Type_t Type_t
BinaryReturn< T1, T2, OpBitwiseXorAssign >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpAddAssign >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpLeftShiftAssign >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< UnaryNode< FnHypCos, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t cosh(const Vector< T1, C1 > &l)
UnaryReturn< T, FnArcTan >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpBitwiseAnd >::Type_t operator()(const T1 &a, const T2 &b) const
#define PETE_EMPTY_CONSTRUCTORS(CLASS)
BinaryReturn< T1, T2, OpRightShift >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpDivideAssign >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< BinaryNode< FnPow, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t pow(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
MakeReturn< UnaryNode< FnHypTan, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t tanh(const Vector< T1, C1 > &l)
MakeReturn< UnaryNode< FnCos, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t cos(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpOr >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpMod >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< UnaryNode< FnCeil, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t ceil(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpBitwiseOr >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnSqrt >::Type_t operator()(const T &a) const
MakeReturn< UnaryNode< FnArcCos, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t acos(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpDivide >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< BinaryNode< FnArcTan2, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t, typename CreateLeaf< Vector< T2, C2 > >::Leaf_t > >::Expression_t atan2(const Vector< T1, C1 > &l, const Vector< T2, C2 > &r)
BinaryReturn< T1, T2, OpLT >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< UnaryNode< FnArcTan, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t atan(const Vector< T1, C1 > &l)
UnaryReturn< T, FnHypTan >::Type_t operator()(const T &a) const
UnaryReturn< T, FnHypSin >::Type_t operator()(const T &a) const
#define PETE_EMPTY_CONSTRUCTORS_TEMPLATE(CLASS, ARG)
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)
UnaryReturn< T, FnLog >::Type_t operator()(const T &a) const
UnaryReturn< T, OpNot >::Type_t operator()(const T &a) const
MakeReturn< UnaryNode< FnTan, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t tan(const Vector< T1, C1 > &l)
MakeReturn< UnaryNode< FnLog10, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t log10(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, FnPow >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnFloor >::Type_t operator()(const T &a) const
MakeReturn< UnaryNode< FnLog, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t log(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpRightShiftAssign >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpAdd >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
BinaryReturn< T1, T2, OpLeftShift >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpAssign >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnHypCos >::Type_t operator()(const T &a) const
UnaryReturn< T, FnCos >::Type_t operator()(const T &a) const
UnaryReturn< T, FnArcSin >::Type_t operator()(const T &a) const
UnaryReturn< T, OpBitwiseNot >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpGT >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnLdexp >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, FnFmod >::Type_t operator()(const T1 &a, const T2 &b) const
BinaryReturn< T1, T2, OpMultiply >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T, FnExp >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpBitwiseXor >::Type_t operator()(const T1 &a, const T2 &b) const
UnaryReturn< T2, OpCast< T1 > > operator()(const T2 &a) const
UnaryReturn< T, FnLog10 >::Type_t operator()(const T &a) const
UnaryReturn< T, FnSin >::Type_t operator()(const T &a) const
UnaryReturn< T, OpUnaryPlus >::Type_t operator()(const T &a) const
BinaryReturn< T1, T2, OpLE >::Type_t operator()(const T1 &a, const T2 &b) const
MakeReturn< UnaryNode< FnArcSin, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t asin(const Vector< T1, C1 > &l)
MakeReturn< UnaryNode< FnFloor, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t floor(const Vector< T1, C1 > &l)