32 template <TRobustKernelType KERNEL_TYPE, 
typename T = 
double>
    46     inline T 
eval(
const T r2, T& out_1st_deriv, T& out_2nd_deriv)
    65     inline T 
eval(
const T r2, T& out_1st_deriv, T& out_2nd_deriv)
    67         const T param_sq_inv = 1.0 / param_sq;
    68         const T a = 1 + r2 * param_sq_inv;
    69         const T b = std::sqrt(a);
    70         out_1st_deriv = 1. / b;
    71         out_2nd_deriv = -0.5 * param_sq_inv * out_1st_deriv / a;
    72         return 2 * param_sq * (b - 1);
 T eval(const T r2, T &out_1st_deriv, T &out_2nd_deriv)
Evaluates the kernel function for the squared error r2 and returns robustified squared error and deri...
 
Pseudo-huber robust kernel. 
 
This base provides a set of functions for maths stuff. 
 
T eval(const T r2, T &out_1st_deriv, T &out_2nd_deriv)
Evaluates the kernel function for the squared error r2 and returns robustified squared error and deri...
 
No robust kernel, use standard least squares: rho(r)= 1/2 * r^2. 
 
TRobustKernelType
The different types of kernels for usage within a robustified least-squares estimator.