Jpp  19.1.0
the software that should make you happy
Public Member Functions | Static Public Attributes | List of all members
JMATH::JPair< JF1_t, JF2_t > Struct Template Reference

Auxiliary data structure for pair of functions. More...

#include <JMathlib.hh>

Inheritance diagram for JMATH::JPair< JF1_t, JF2_t >:
JMATH::JCalculus< JPair< JF1_t, JF2_t > > JMATH::JAdd< JF1_t, JF2_t > JMATH::JDiv< JF1_t, JF2_t > JMATH::JMul< JF1_t, JF2_t > JMATH::JSub< JF1_t, JF2_t >

Public Member Functions

 JPair ()
 Default constructor. More...
 
 JPair (const JF1_t &f1, const JF2_t &f2)
 Constructor. More...
 
JPair< JF1_t, JF2_t > & negate ()
 Negate function. More...
 
JPair< JF1_t, JF2_t > & add (const JPair< JF1_t, JF2_t > &f1)
 Add function. More...
 
JPair< JF1_t, JF2_t > & sub (const JPair< JF1_t, JF2_t > &f1)
 Subtract function. More...
 
JPair< JF1_t, JF2_t > & mul (const double factor)
 Scale function. More...
 
JPair< JF1_t, JF2_t > & div (const double factor)
 Scale function. More...
 

Static Public Attributes

static const parameter_list< JPairparameters
 parameters More...
 

Detailed Description

template<class JF1_t, class JF2_t>
struct JMATH::JPair< JF1_t, JF2_t >

Auxiliary data structure for pair of functions.

Definition at line 935 of file JMathlib.hh.

Constructor & Destructor Documentation

◆ JPair() [1/2]

template<class JF1_t , class JF2_t >
JMATH::JPair< JF1_t, JF2_t >::JPair ( )
inline

Default constructor.

Definition at line 950 of file JMathlib.hh.

951  {}

◆ JPair() [2/2]

template<class JF1_t , class JF2_t >
JMATH::JPair< JF1_t, JF2_t >::JPair ( const JF1_t &  f1,
const JF2_t &  f2 
)
inline

Constructor.

Parameters
f1first function
f2second function

Definition at line 960 of file JMathlib.hh.

960  :
961  JF1_t(f1),
962  JF2_t(f2)
963  {}
const JPolynome f1(1.0, 2.0, 3.0)
Function.

Member Function Documentation

◆ negate()

JPair< JF1_t, JF2_t > & JMATH::JCalculus< JPair< JF1_t, JF2_t > >::negate ( )
inlineinherited

Negate function.

Returns
this function

Definition at line 203 of file JMathlib.hh.

204  {
205  for (const auto& i : JF1_t::parameters) {
206  static_cast<JF1_t&>(*this).*i = -(static_cast<JF1_t&>(*this).*i);
207  }
208 
209  return static_cast<JF1_t&>(*this);
210  }

◆ add()

JPair< JF1_t, JF2_t > & JMATH::JCalculus< JPair< JF1_t, JF2_t > >::add ( const JF1_t &  f1)
inlineinherited

Add function.

Parameters
f1function
Returns
this function

Definition at line 219 of file JMathlib.hh.

220  {
221  for (const auto& i : JF1_t::parameters) {
222  static_cast<JF1_t&>(*this).*i += f1.*i;
223  }
224 
225  return static_cast<JF1_t&>(*this);
226  }

◆ sub()

JPair< JF1_t, JF2_t > & JMATH::JCalculus< JPair< JF1_t, JF2_t > >::sub ( const JF1_t &  f1)
inlineinherited

Subtract function.

Parameters
f1function
Returns
this function

Definition at line 235 of file JMathlib.hh.

236  {
237  for (const auto& i : JF1_t::parameters) {
238  static_cast<JF1_t&>(*this).*i -= f1.*i;
239  }
240 
241  return static_cast<JF1_t&>(*this);
242  }

◆ mul()

JPair< JF1_t, JF2_t > & JMATH::JCalculus< JPair< JF1_t, JF2_t > >::mul ( const double  factor)
inlineinherited

Scale function.

Parameters
factorfactor
Returns
this function

Definition at line 251 of file JMathlib.hh.

252  {
253  for (const auto& i : JF1_t::parameters) {
254  static_cast<JF1_t&>(*this).*i *= factor;
255  }
256 
257  return static_cast<JF1_t&>(*this);
258  }

◆ div()

JPair< JF1_t, JF2_t > & JMATH::JCalculus< JPair< JF1_t, JF2_t > >::div ( const double  factor)
inlineinherited

Scale function.

Parameters
factorfactor
Returns
this function

Definition at line 267 of file JMathlib.hh.

268  {
269  for (const auto& i : JF1_t::parameters) {
270  static_cast<JF1_t&>(*this).*i /= factor;
271  }
272 
273  return static_cast<JF1_t&>(*this);
274  }

Member Data Documentation

◆ parameters

template<class JF1_t , class JF2_t >
const parameter_list< JPair< JF1_t, JF2_t > > JMATH::JPair< JF1_t, JF2_t >::parameters
static

parameters

Set parameters.

Definition at line 965 of file JMathlib.hh.


The documentation for this struct was generated from the following file: