Jpp 21.0.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JMATH::JX Struct Reference

x. More...

#include <JMathlib.hh>

Inheritance diagram for JMATH::JX:
JMATH::JMathlib< JX > JMATH::JCalculus< JX > JMATH::JCos< JF1_t > JMATH::JExp< JF1_t > JMATH::JLog< JF1_t > JMATH::JPow< ID_t, JF1_t > JMATH::JSin< JF1_t > JMATH::JSqrt< JF1_t >

Public Member Functions

 JX ()
 Default constructor.
 
double getValue (const double x) const
 Function value.
 
double getDerivative (const double x) const
 Derivative value.
 
JX getGradient (const double x) const
 Get gradient.
 
double operator() (const Args &...args) const
 Function value.
 
double operator[] (const size_t i) const
 Get value of parameter at given index.
 
double & operator[] (const size_t i)
 Get value of parameter at given index.
 
JXnegate ()
 Negate function.
 
JXadd (const JX &f1)
 Add function.
 
JXsub (const JX &f1)
 Subtract function.
 
JXmul (const double factor)
 Scale function.
 
JXdiv (const double factor)
 Scale function.
 

Static Public Member Functions

static size_t size ()
 Get size of parameter.
 

Static Public Attributes

static constexpr parameter_list< JX, 0 > parameters {}
 

Detailed Description

x.

Definition at line 1551 of file JMathlib.hh.

Constructor & Destructor Documentation

◆ JX()

JMATH::JX::JX ( )
inline

Default constructor.

Definition at line 1558 of file JMathlib.hh.

1559 {}

Member Function Documentation

◆ getValue()

double JMATH::JX::getValue ( const double x) const
inline

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 1568 of file JMathlib.hh.

1569 {
1570 return x;
1571 }

◆ getDerivative()

double JMATH::JX::getDerivative ( const double x) const
inline

Derivative value.

Parameters
xabscissa value
Returns
derivative value

Definition at line 1580 of file JMathlib.hh.

1581 {
1582 return 1.0;
1583 }

◆ getGradient()

JX JMATH::JX::getGradient ( const double x) const
inline

Get gradient.

Parameters
xabscissa value
Returns
gradient

Definition at line 1592 of file JMathlib.hh.

1593 {
1594 JX gradient;
1595
1596 return gradient;
1597 }
JX()
Default constructor.
Definition JMathlib.hh:1558

◆ operator()()

double JMATH::JMathlib< JX >::operator() ( const Args &... args) const
inlineinherited

Function value.

Parameters
argsabscissa value(s)
Returns
function value

Definition at line 331 of file JMathlib.hh.

332 {
333 return static_cast<const JF1_t&>(*this).getValue(args...);
334 }

◆ size()

static size_t JMATH::JMathlib< JX >::size ( )
inlinestaticinherited

Get size of parameter.

Returns
size

Definition at line 538 of file JMathlib.hh.

539 {
540 return JF1_t::parameters.size();
541 }

◆ operator[]() [1/2]

double JMATH::JMathlib< JX >::operator[] ( const size_t i) const
inlineinherited

Get value of parameter at given index.

Parameters
iindex
Returns
value

Definition at line 550 of file JMathlib.hh.

551 {
552 return static_cast<const JF1_t&>(*this).*JF1_t::parameters[i];
553 }

◆ operator[]() [2/2]

double & JMATH::JMathlib< JX >::operator[] ( const size_t i)
inlineinherited

Get value of parameter at given index.

Parameters
iindex
Returns
value

Definition at line 562 of file JMathlib.hh.

563 {
564 return static_cast<JF1_t&>(*this).*JF1_t::parameters[i];
565 }

◆ negate()

JX & JMATH::JCalculus< JX >::negate ( )
inlineinherited

Negate function.

Returns
this function

Definition at line 170 of file JMathlib.hh.

171 {
172 for (const auto& i : JF1_t::parameters) {
173 static_cast<JF1_t&>(*this).*i = -(static_cast<JF1_t&>(*this).*i);
174 }
175
176 return static_cast<JF1_t&>(*this);
177 }

◆ add()

JX & JMATH::JCalculus< JX >::add ( const JX & f1)
inlineinherited

Add function.

Parameters
f1function
Returns
this function

Definition at line 186 of file JMathlib.hh.

187 {
188 for (const auto& i : JF1_t::parameters) {
189 static_cast<JF1_t&>(*this).*i += f1.*i;
190 }
191
192 return static_cast<JF1_t&>(*this);
193 }

◆ sub()

JX & JMATH::JCalculus< JX >::sub ( const JX & f1)
inlineinherited

Subtract function.

Parameters
f1function
Returns
this function

Definition at line 202 of file JMathlib.hh.

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

◆ mul()

JX & JMATH::JCalculus< JX >::mul ( const double factor)
inlineinherited

Scale function.

Parameters
factorfactor
Returns
this function

Definition at line 218 of file JMathlib.hh.

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

◆ div()

JX & JMATH::JCalculus< JX >::div ( const double factor)
inlineinherited

Scale function.

Parameters
factorfactor
Returns
this function

Definition at line 234 of file JMathlib.hh.

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

Member Data Documentation

◆ parameters

parameter_list<JX, 0> JMATH::JX::parameters {}
staticconstexpr

Definition at line 1599 of file JMathlib.hh.

1599{};

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