Square root of function.  
 More...
#include <JMathlib.hh>
 | 
|   | JSqrt () | 
|   | Default constructor.  
  | 
|   | 
|   | JSqrt (const JF1_t &f1) | 
|   | Constructor.  
  | 
|   | 
| double  | getValue (const double x) const | 
|   | Function value.  
  | 
|   | 
| double  | getDerivative (const double x) const | 
|   | Derivative value.  
  | 
|   | 
| const JSqrt &  | getGradient (const double x) const | 
|   | Get gradient.  
  | 
|   | 
| double  | operator() (const Args &...args) const | 
|   | Function value.  
  | 
|   | 
template<class JF1_t = _vF>
struct JMATH::JSqrt< JF1_t >
Square root of function. 
Definition at line 2055 of file JMathlib.hh.
 
◆ JSqrt() [1/2]
template<class JF1_t  = _vF> 
 
Default constructor. 
Definition at line 2065 of file JMathlib.hh.
 2065            :
 2066      JF1_t()
 2067    {}
 
 
 
◆ JSqrt() [2/2]
template<class JF1_t  = _vF> 
 
Constructor. 
- Parameters
 - 
  
  
 
Definition at line 2075 of file JMathlib.hh.
 2075                           :
 2076      JF1_t(f1)
 2077    {}
 
 
 
◆ getValue()
template<class JF1_t  = _vF> 
  
  
      
        
          | double JMATH::JSqrt< JF1_t >::getValue  | 
          ( | 
          const double |           x | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Function value. 
- Parameters
 - 
  
  
 
- 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    }
 
 
 
◆ getDerivative()
template<class JF1_t  = _vF> 
  
  
      
        
          | double JMATH::JSqrt< JF1_t >::getDerivative  | 
          ( | 
          const double |           x | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Derivative value. 
- Parameters
 - 
  
  
 
- 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    }
 
 
 
◆ getGradient()
template<class JF1_t  = _vF> 
 
Get gradient. 
- Parameters
 - 
  
  
 
- Returns
 - gradient 
 
Definition at line 2115 of file JMathlib.hh.
 2116    {
 2117      static JSqrt gradient;                                  
 
 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    }
JSqrt()
Default constructor.
 
 
 
 
◆ operator()()
Function value. 
- Parameters
 - 
  
  
 
- 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: