Jpp  master_rocky-37-gf0c5bc59d
the software that should make you happy
Public Member Functions | List of all members
JMATH::JSqrt< JF1_t > Struct Template Reference

Square root of function. More...

#include <JMathlib.hh>

Inheritance diagram for JMATH::JSqrt< JF1_t >:
JMATH::JMathlib< JSqrt< _vF > >

Public Member Functions

 JSqrt ()
 Default constructor. More...
 
 JSqrt (const JF1_t &f1)
 Constructor. More...
 
double getValue (const double x) const
 Function value. More...
 
double getDerivative (const double x) const
 Derivative value. More...
 
const JSqrtgetGradient (const double x) const
 Get gradient. More...
 
double operator() (const Args &...args) const
 Function value. More...
 

Detailed Description

template<class JF1_t = _vF>
struct JMATH::JSqrt< JF1_t >

Square root of function.

Definition at line 2055 of file JMathlib.hh.

Constructor & Destructor Documentation

◆ JSqrt() [1/2]

template<class JF1_t = _vF>
JMATH::JSqrt< JF1_t >::JSqrt ( )
inline

Default constructor.

Definition at line 2065 of file JMathlib.hh.

2065  :
2066  JF1_t()
2067  {}

◆ JSqrt() [2/2]

template<class JF1_t = _vF>
JMATH::JSqrt< JF1_t >::JSqrt ( const JF1_t &  f1)
inline

Constructor.

Parameters
f1function

Definition at line 2075 of file JMathlib.hh.

2075  :
2076  JF1_t(f1)
2077  {}
const JPolynome f1(1.0, 2.0, 3.0)
Function.

Member Function Documentation

◆ getValue()

template<class JF1_t = _vF>
double JMATH::JSqrt< JF1_t >::getValue ( const double  x) const
inline

Function value.

Parameters
xabscissa value
Returns
function value

Definition at line 2086 of file JMathlib.hh.

2087  {
2088  const double u = static_cast<const JF1_t&>(*this).getValue(x);
2089 
2090  return sqrt(u);
2091  }
double u[N+1]
Definition: JPolint.hh:865

◆ getDerivative()

template<class JF1_t = _vF>
double JMATH::JSqrt< JF1_t >::getDerivative ( const double  x) const
inline

Derivative value.

Parameters
xabscissa value
Returns
derivative value

Definition at line 2100 of file JMathlib.hh.

2101  {
2102  const double u = static_cast<const JF1_t&>(*this).getValue(x);
2103  const double v = static_cast<const JF1_t&>(*this).getDerivative(x);
2104 
2105  return 0.5 * v / sqrt(u);
2106  }
data_type v[N+1][M+1]
Definition: JPolint.hh:866

◆ getGradient()

template<class JF1_t = _vF>
const JSqrt& JMATH::JSqrt< JF1_t >::getGradient ( const double  x) const
inline

Get gradient.

Parameters
xabscissa value
Returns
gradient

Definition at line 2115 of file JMathlib.hh.

2116  {
2117  static JSqrt gradient; // d(f)/d(a)
2118 
2119  const double u = static_cast<const JF1_t&>(*this).getValue(x);
2120 
2121  static_cast<JF1_t&>(gradient) = static_cast<const JF1_t&>(*this).getGradient(x);
2122  static_cast<JF1_t&>(gradient) *= 0.5 / sqrt(u);
2123 
2124  return gradient;
2125  }
Square root of function.
Definition: JMathlib.hh:2058

◆ operator()()

double JMATH::JMathlib< JSqrt< _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  }

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