Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
JMATH::JPow< ID_t, JF1_t > Struct Template Reference

Power of function. More...

#include <JMathlib.hh>

Inheritance diagram for JMATH::JPow< ID_t, JF1_t >:
JMATH::JMathlib< JPow< ID_t, _vF > >

Public Member Functions

 JPow ()
 Default constructor. More...
 
 JPow (const JF1_t &f1, const double alpha)
 Constructor. More...
 
double getValue (const double x) const
 Function value. More...
 
double getDerivative (const double x) const
 Derivative value. More...
 
const JPowgetGradient (const double x) const
 Get gradient. More...
 
double operator() (const Args &...args) const
 Function value. More...
 

Public Attributes

double alpha
 f(x)^alpha More...
 

Static Public Attributes

static const int ID = ID_t
 
static const parameter_list< JPowparameters
 parameters More...
 

Detailed Description

template<int ID_t, class JF1_t = _vF>
struct JMATH::JPow< ID_t, JF1_t >

Power of function.

Definition at line 1798 of file JMathlib.hh.

Constructor & Destructor Documentation

◆ JPow() [1/2]

template<int ID_t, class JF1_t = _vF>
JMATH::JPow< ID_t, JF1_t >::JPow ( )
inline

Default constructor.

Definition at line 1810 of file JMathlib.hh.

1810  :
1811  JF1_t(),
1812  alpha(0.0)
1813  {}
double alpha
f(x)^alpha
Definition: JMathlib.hh:1878

◆ JPow() [2/2]

template<int ID_t, class JF1_t = _vF>
JMATH::JPow< ID_t, JF1_t >::JPow ( const JF1_t &  f1,
const double  alpha 
)
inline

Constructor.

Parameters
f1function
alphavalue

Definition at line 1822 of file JMathlib.hh.

1822  :
1823  JF1_t(f1),
1824  alpha(alpha)
1825  {}
const JPolynome f1(1.0, 2.0, 3.0)
Function.

Member Function Documentation

◆ getValue()

template<int ID_t, class JF1_t = _vF>
double JMATH::JPow< ID_t, JF1_t >::getValue ( const double  x) const
inline

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 1834 of file JMathlib.hh.

1835  {
1836  const double u = static_cast<const JF1_t&>(*this).getValue(x);
1837 
1838  return pow(u, alpha);
1839  }
T pow(const T &x, const double y)
Power .
Definition: JMath.hh:97
double u[N+1]
Definition: JPolint.hh:865

◆ getDerivative()

template<int ID_t, class JF1_t = _vF>
double JMATH::JPow< ID_t, JF1_t >::getDerivative ( const double  x) const
inline

Derivative value.

Parameters
xabscissa value
Returns
derivative value

Definition at line 1848 of file JMathlib.hh.

1849  {
1850  const double u = static_cast<const JF1_t&>(*this).getValue(x);
1851  const double v = static_cast<const JF1_t&>(*this).getDerivative(x);
1852 
1853  return alpha * pow(u, alpha - 1) * v;
1854  }
data_type v[N+1][M+1]
Definition: JPolint.hh:866

◆ getGradient()

template<int ID_t, class JF1_t = _vF>
const JPow& JMATH::JPow< ID_t, JF1_t >::getGradient ( const double  x) const
inline

Get gradient.

Parameters
xabscissa value
Returns
gradient

Definition at line 1863 of file JMathlib.hh.

1864  {
1865  static JPow gradient; // d(f)/d(a)
1866 
1867  const double u = static_cast<const JF1_t&>(*this).getValue(x);
1868  const double w = pow(u, alpha);
1869 
1870  gradient.alpha = w * log(u);
1871 
1872  static_cast<JF1_t&>(gradient) = static_cast<const JF1_t&>(*this).getGradient(x);
1873  static_cast<JF1_t&>(gradient) *= alpha * w / u;
1874 
1875  return gradient;
1876  }
data_type w[N+1][M+1]
Definition: JPolint.hh:867
Power of function.
Definition: JMathlib.hh:1801

◆ operator()()

double JMATH::JMathlib< JPow< ID_t, _vF > >::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  }

Member Data Documentation

◆ ID

template<int ID_t, class JF1_t = _vF>
const int JMATH::JPow< ID_t, JF1_t >::ID = ID_t
static

Definition at line 1802 of file JMathlib.hh.

◆ alpha

template<int ID_t, class JF1_t = _vF>
double JMATH::JPow< ID_t, JF1_t >::alpha

f(x)^alpha

Definition at line 1878 of file JMathlib.hh.

◆ parameters

template<int ID_t, class JF1_t >
const parameter_list< JPow< ID_t, JF1_t > > JMATH::JPow< ID_t, JF1_t >::parameters
static

parameters

Set parameters.

Definition at line 1879 of file JMathlib.hh.


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