DiFfRG
Loading...
Searching...
No Matches
integrators::core Namespace Reference

Namespaces

namespace  cuda
 
namespace  generic
 

Classes

struct  callback_params_t
 
struct  has_batching_impl
 
struct  has_batching_impl< I, T, D, U, std::void_t< decltype(std::declval< I >().operator()(std::declval< D * >(), std::declval< T * >(), std::declval< U >()))> >
 
struct  least_squares_wrapper_t
 

Typedefs

using fit_function_jacobian_wrapper_ptr = int (*)(const gsl_vector * , void *, gsl_matrix *)
 
using fit_function_hessian_wrapper_ptr = int (*)(const gsl_vector *, const gsl_vector *, void *, gsl_vector *)
 

Functions

template<typename D , typename F1 , typename F2 , typename F3 >
int fit_function_wrapper (const gsl_vector *parameters_vector, void *xyfunc_ptr, gsl_vector *f)
 
template<typename D , typename F1 , typename F2 , typename F3 >
int fit_function_jacobian_wrapper (const gsl_vector *parameters_vector, void *xyfunc_ptr, gsl_matrix *J)
 
template<typename D , typename F1 , typename F2 , typename F3 >
int fit_function_hessian_wrapper (const gsl_vector *parameters_vector, const gsl_vector *v, void *xyfunc_ptr, gsl_vector *fvv)
 
void callback (const size_t iter, void *params, const gsl_multifit_nlinear_workspace *w)
 
template<typename D , typename F1 , typename F2 , typename F3 >
fit_function_jacobian_wrapper_ptr get_fit_function_jacobian_wrapper (const F2 &fit_function_jacobian, const U &verbosity, Logger &logger)
 
template<typename D , typename F1 , typename F2 , typename F3 >
std::nullptr_t get_fit_function_jacobian_wrapper (const std::nullptr_t &fit_function_jacobian, const U &verbosity, Logger &logger)
 
template<typename D , typename F1 , typename F2 , typename F3 >
fit_function_hessian_wrapper_ptr get_fit_function_hessian_wrapper (const F3 &fit_function_hessian, const U &verbosity, Logger &logger)
 
template<typename D , typename F1 , typename F2 , typename F3 >
std::nullptr_t get_fit_function_hessian_wrapper (const std::nullptr_t &fit_function_hessian, const U &verbosity, Logger &logger)
 
template<typename D , typename F1 , typename F2 , typename F3 , typename std::enable_if< F1::num_parameters !=0, int >::type = 0>
std::vector< D > least_squares (F1 &fit_function, F2 &fit_function_jacobian, F3 &fit_function_hessian, const std::vector< D > &x, const std::vector< D > &y, const U &verbosity, Logger &logger, const size_t maxiter, const double xtol, const double gtol, const double ftol, gsl_multifit_nlinear_parameters fitparametersgsl)
 
template<typename T >
integrators::result< T > reduce (const std::vector< T > &r, const U n, const U m, std::vector< result< T > > &previous_iterations, const U &verbosity, const Logger &logger)
 

Variables

template<typename I , typename T , typename D , typename U >
constexpr bool has_batching = has_batching_impl<I,T,D,U>::value
 

Typedef Documentation

◆ fit_function_hessian_wrapper_ptr

using integrators::core::fit_function_hessian_wrapper_ptr = int (*)(const gsl_vector *, const gsl_vector *, void *, gsl_vector *)

◆ fit_function_jacobian_wrapper_ptr

using integrators::core::fit_function_jacobian_wrapper_ptr = int (*)(const gsl_vector * , void *, gsl_matrix *)

Function Documentation

◆ callback()

void integrators::core::callback ( const size_t iter,
void * params,
const gsl_multifit_nlinear_workspace * w )
inline

◆ fit_function_hessian_wrapper()

template<typename D , typename F1 , typename F2 , typename F3 >
int integrators::core::fit_function_hessian_wrapper ( const gsl_vector * parameters_vector,
const gsl_vector * v,
void * xyfunc_ptr,
gsl_vector * fvv )

◆ fit_function_jacobian_wrapper()

template<typename D , typename F1 , typename F2 , typename F3 >
int integrators::core::fit_function_jacobian_wrapper ( const gsl_vector * parameters_vector,
void * xyfunc_ptr,
gsl_matrix * J )

◆ fit_function_wrapper()

template<typename D , typename F1 , typename F2 , typename F3 >
int integrators::core::fit_function_wrapper ( const gsl_vector * parameters_vector,
void * xyfunc_ptr,
gsl_vector * f )

◆ get_fit_function_hessian_wrapper() [1/2]

template<typename D , typename F1 , typename F2 , typename F3 >
fit_function_hessian_wrapper_ptr integrators::core::get_fit_function_hessian_wrapper ( const F3 & fit_function_hessian,
const U & verbosity,
Logger & logger )

◆ get_fit_function_hessian_wrapper() [2/2]

template<typename D , typename F1 , typename F2 , typename F3 >
std::nullptr_t integrators::core::get_fit_function_hessian_wrapper ( const std::nullptr_t & fit_function_hessian,
const U & verbosity,
Logger & logger )

◆ get_fit_function_jacobian_wrapper() [1/2]

template<typename D , typename F1 , typename F2 , typename F3 >
fit_function_jacobian_wrapper_ptr integrators::core::get_fit_function_jacobian_wrapper ( const F2 & fit_function_jacobian,
const U & verbosity,
Logger & logger )

◆ get_fit_function_jacobian_wrapper() [2/2]

template<typename D , typename F1 , typename F2 , typename F3 >
std::nullptr_t integrators::core::get_fit_function_jacobian_wrapper ( const std::nullptr_t & fit_function_jacobian,
const U & verbosity,
Logger & logger )

◆ least_squares()

template<typename D , typename F1 , typename F2 , typename F3 , typename std::enable_if< F1::num_parameters !=0, int >::type = 0>
std::vector< D > integrators::core::least_squares ( F1 & fit_function,
F2 & fit_function_jacobian,
F3 & fit_function_hessian,
const std::vector< D > & x,
const std::vector< D > & y,
const U & verbosity,
Logger & logger,
const size_t maxiter,
const double xtol,
const double gtol,
const double ftol,
gsl_multifit_nlinear_parameters fitparametersgsl )

◆ reduce()

template<typename T >
integrators::result< T > integrators::core::reduce ( const std::vector< T > & r,
const U n,
const U m,
std::vector< result< T > > & previous_iterations,
const U & verbosity,
const Logger & logger )

Variable Documentation

◆ has_batching

template<typename I , typename T , typename D , typename U >
bool integrators::core::has_batching = has_batching_impl<I,T,D,U>::value
inlineconstexpr