15 namespace JPP { 
using namespace JMATH; }
 
   25   template<
class JFirst_t, 
class JSecond_t = JNullType>
 
   73       return T(
object).negate();
 
   86       return object.add(value);
 
   99       return object.sub(value);
 
  112       return object.mul(factor);
 
  125       return object.div(factor);
 
  138       return T(first).add(second);
 
  151       return T(first).sub(second);
 
  162     friend T 
operator*(
const T& 
object, 
const double factor)
 
  164       return T(
object).mul(factor);
 
  175     friend T 
operator*(
const double factor, 
const T& 
object)
 
  177       return T(
object).mul(factor);
 
  188     friend T 
operator/(
const T& 
object, 
const double factor)
 
  190       return T(
object).div(factor);
 
  215       return first.mul(second);
 
  244       static_cast<T*
>(
this)->
mul(1.0 - alpha);
 
  245       static_cast<T*
>(
this)->add(T(
object).mul(alpha));
 
  247       return static_cast<T&
>(*this);
 
  264   template<
class JFirst_t, 
class JSecond_t>
 
  273     JFirst_t& 
mul(
const JSecond_t& 
object)
 
  286     friend JFirst_t& 
operator*=(JFirst_t& first, 
const JSecond_t& second)
 
  288       return first.mul(second);
 
  299     friend JFirst_t 
operator*(
const JFirst_t& first, 
const JSecond_t& second)
 
  301       return JFirst_t(first).mul(second);
 
friend T & operator/=(T &object, const double factor)
Scale object. 
 
Auxiliary base class for aritmetic operations of derived class types. 
 
friend T operator-(const T &object)
Negate operator. 
 
T & interpolate(const T &object, const double alpha)
Interpolation between objects. 
 
friend const JCalculator< T, 1 > & operator*(const T &first, const T &second)
Multiply objects. 
 
friend T operator*(const double factor, const T &object)
Scale object. 
 
friend T & operator+=(T &object, const T &value)
Add object. 
 
friend T & operator*=(T &first, const T &second)
Multiply with object. 
 
friend JFirst_t operator*(const JFirst_t &first, const JSecond_t &second)
Multiply objects. 
 
friend JFirst_t & operator*=(JFirst_t &first, const JSecond_t &second)
Multiply with object. 
 
friend T operator+(const T &object)
Affirm operator. 
 
Auxiliary class for no type definition. 
 
JFirst_t & mul(const JSecond_t &object)
Multiply with object. 
 
friend T operator+(const T &first, const T &second)
Add objects. 
 
friend T operator*(const T &object, const double factor)
Scale object. 
 
Auxiliary class for product evaluation of objects. 
 
friend T & operator-=(T &object, const T &value)
Subtract object. 
 
friend T operator-(const T &first, const T &second)
Subtract objects. 
 
friend T & operator*=(T &object, const double factor)
Scale object. 
 
friend T operator/(const T &object, const double factor)
Scale object. 
 
T & mul(const T &object)
Multiply with object.