Jpp  19.1.0-rc.1
the software that should make you happy
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
JMATH::JPolynome< ID_t, 0 > Struct Template Reference

Termination class for polynomial function. More...

#include <JMathlib.hh>

Inheritance diagram for JMATH::JPolynome< ID_t, 0 >:
JMATH::JMathlib< JPolynome< ID_t, 0 > > JMATH::JCalculus< JPolynome< ID_t, 0 > > JMATH::JExp< JPolynome< ID_t, 0 > >

Public Member Functions

 JPolynome ()
 Default constructor. More...
 
 JPolynome (const double a)
 Constructor. More...
 
double getValue (...) const
 Function value. More...
 
double getDerivative (...) const
 Derivative value. More...
 
const JPolynome & getGradient (...) const
 Get gradient. More...
 
double operator() (const Args &...args) const
 Function value. More...
 
JPolynome< ID_t, 0 > & negate ()
 Negate function. More...
 
JPolynome< ID_t, 0 > & add (const JPolynome< ID_t, 0 > &f1)
 Add function. More...
 
JPolynome< ID_t, 0 > & sub (const JPolynome< ID_t, 0 > &f1)
 Subtract function. More...
 
JPolynome< ID_t, 0 > & mul (const double factor)
 Scale function. More...
 
JPolynome< ID_t, 0 > & div (const double factor)
 Scale function. More...
 

Public Attributes

double a
 a[0] More...
 

Static Public Attributes

static const int ID = ID_t
 
static const size_t NUMBER_OF_DEGREES = 0
 
static const parameter_list< JPolynome > parameters
 parameters More...
 

Protected Member Functions

void set (const double *array)
 Set parameter values. More...
 

Detailed Description

template<int ID_t>
struct JMATH::JPolynome< ID_t, 0 >

Termination class for polynomial function.

Definition at line 1484 of file JMathlib.hh.

Constructor & Destructor Documentation

◆ JPolynome() [1/2]

template<int ID_t>
JMATH::JPolynome< ID_t, 0 >::JPolynome ( )
inline

Default constructor.

Definition at line 1496 of file JMathlib.hh.

1496  :
1497  a(0.0)
1498  {}

◆ JPolynome() [2/2]

template<int ID_t>
JMATH::JPolynome< ID_t, 0 >::JPolynome ( const double  a)
inline

Constructor.

Parameters
avalue

Definition at line 1506 of file JMathlib.hh.

1506  :
1507  a(a)
1508  {}

Member Function Documentation

◆ getValue()

template<int ID_t>
double JMATH::JPolynome< ID_t, 0 >::getValue (   ...) const
inline

Function value.

Returns
function value

Definition at line 1516 of file JMathlib.hh.

1517  {
1518  return a;
1519  }

◆ getDerivative()

template<int ID_t>
double JMATH::JPolynome< ID_t, 0 >::getDerivative (   ...) const
inline

Derivative value.

Returns
derivative value

Definition at line 1527 of file JMathlib.hh.

1528  {
1529  return 0.0;
1530  }

◆ getGradient()

template<int ID_t>
const JPolynome& JMATH::JPolynome< ID_t, 0 >::getGradient (   ...) const
inline

Get gradient.

Returns
gradient

Definition at line 1538 of file JMathlib.hh.

1539  {
1540  static JPolynome gradient; // d(f)/d(a)
1541 
1542  gradient.a = 1.0;
1543 
1544  return gradient;
1545  }
Recursive template class for polynomial function.
Definition: JMathlib.hh:1381
double a
a[N]
Definition: JMathlib.hh:1456

◆ set()

template<int ID_t>
void JMATH::JPolynome< ID_t, 0 >::set ( const double *  array)
inlineprotected

Set parameter values.

Parameters
arraypointer to list of values

Definition at line 1556 of file JMathlib.hh.

1557  {
1558  a = array[0];
1559  }

◆ operator()()

double JMATH::JMathlib< JPolynome< ID_t, 0 > >::operator() ( const Args &...  args) const
inlineinherited

Function value.

Parameters
argsabscissa value(s)
Returns
function value

Definition at line 362 of file JMathlib.hh.

363  {
364  return static_cast<const JF1_t&>(*this).getValue(args...);
365  }

◆ negate()

JPolynome< ID_t, 0 > & JMATH::JCalculus< JPolynome< ID_t, 0 > >::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()

JPolynome< ID_t, 0 > & JMATH::JCalculus< JPolynome< ID_t, 0 > >::add ( const JPolynome< ID_t, 0 > &  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  }
const JPolynome f1(1.0, 2.0, 3.0)
Function.

◆ sub()

JPolynome< ID_t, 0 > & JMATH::JCalculus< JPolynome< ID_t, 0 > >::sub ( const JPolynome< ID_t, 0 > &  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()

JPolynome< ID_t, 0 > & JMATH::JCalculus< JPolynome< ID_t, 0 > >::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()

JPolynome< ID_t, 0 > & JMATH::JCalculus< JPolynome< ID_t, 0 > >::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

◆ ID

template<int ID_t>
const int JMATH::JPolynome< ID_t, 0 >::ID = ID_t
static

Definition at line 1488 of file JMathlib.hh.

◆ NUMBER_OF_DEGREES

template<int ID_t>
const size_t JMATH::JPolynome< ID_t, 0 >::NUMBER_OF_DEGREES = 0
static

Definition at line 1490 of file JMathlib.hh.

◆ a

template<int ID_t>
double JMATH::JPolynome< ID_t, 0 >::a

a[0]

Definition at line 1547 of file JMathlib.hh.

◆ parameters

template<int ID_t>
const parameter_list<JPolynome> JMATH::JPolynome< ID_t, 0 >::parameters
static

parameters

Definition at line 1548 of file JMathlib.hh.


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