Jpp  master_rocky-40-g5f0272dcd
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 JPolynomegetGradient (...) 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< JPolynomeparameters
 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: