107 std::shared_ptr<void>
SPIN = NULL;
175 int CUBAIntegrand (
const int *ndim,
const cubareal xx[],
const int *ncomp, cubareal ff[],
void *userdata);
252 void set_limits (std::vector<std::vector<double>> integration_limits)
271 double IntegrateVegas (std::vector<std::vector<double>> integration_limits,
const bool parallelize=
true);
282 double IntegrateSuave (std::vector<std::vector<double>> integration_limits,
const bool parallelize=
true);
293 double IntegrateDivonne (std::vector<std::vector<double>> integration_limits,
const bool parallelize=
true);
304 double IntegrateCuhre (std::vector<std::vector<double>> integration_limits,
const bool parallelize=
true);
Useful generic functions.
STR_CUBA_inputs & inputs()
return reference to integration parameters
double IntegrateSuave(std::vector< std::vector< double >> integration_limits, const bool parallelize=true)
integrate using the Suave routine
void set_limits(std::vector< std::vector< double >> integration_limits)
set integration limits
CUBAwrapper()=default
default constructor
int m_ndim
integral dimension
double IntegrateDivonne(std::vector< std::vector< double >> integration_limits, const bool parallelize=true)
integrate using the Divonne routine
double IntegrateCuhre(std::vector< std::vector< double >> integration_limits, const bool parallelize=true)
integrate using the Cuhre routine
STR_CUBA_inputs m_inputs
CUBA integration inputs.
void set_integrand(FunctionDoubleVectorPtrVectorRef func, const std::shared_ptr< void > function_parameters, std::vector< double > ¶meters, const int ndim)
set the integrand
~CUBAwrapper()=default
default destructor
double IntegrateVegas(std::vector< std::vector< double >> integration_limits, const bool parallelize=true)
integrate using the Vegas routine
FunctionDoubleVector m_integrand
integrand
@ _workInProgress_
error due to work in progress
int CUBAIntegrand(const int *ndim, const cubareal xx[], const int *ncomp, cubareal ff[], void *userdata)
generic CUBA integrand
The global namespace of the CosmoBolognaLib
std::function< double(std::vector< double >)> FunctionDoubleVector
typedef of a function returning a double with a vector in input
int ErrorCBL(const std::string msg, const std::string functionCBL, const std::string fileCBL, const cbl::glob::ExitCode exitCode=cbl::glob::ExitCode::_error_)
throw an exception: it is used for handling exceptions inside the CosmoBolognaLib
std::function< double(std::vector< double >, std::shared_ptr< void >, std::vector< double > &)> FunctionDoubleVectorPtrVectorRef
typedef of a function returning a double with a vector, a pointer and a vector reference in input
support object for cuba integrand
FunctionDoubleVector func
function to be integrated
std::vector< std::vector< double > > integration_limits
limits of the integration