DiFfRG
Loading...
Searching...
No Matches
qmc.hpp File Reference
#include <mutex>
#include <random>
#include <vector>
#include <map>
#include <set>
#include <gsl/gsl_multifit_nlinear.h>
#include <functional>
#include <ostream>
#include <chrono>
#include <string>
#include <type_traits>
#include <cstddef>
#include <stdexcept>
#include <utility>
#include <cmath>
#include <algorithm>
#include <numeric>
#include <complex>
#include <thrust/complex.h>
#include <memory>
#include <cuda_runtime_api.h>
#include <exception>
#include <cassert>
#include <thrust/device_ptr.h>
#include <thrust/reduce.h>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <iterator>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_blas.h>
#include <thread>
#include <limits>

Go to the source code of this file.

Classes

struct  integrators::Logger
 
struct  integrators::result< T >
 
struct  integrators::samples< T, D >
 
struct  integrators::core::has_batching_impl< I, T, D, U, typename >
 
struct  integrators::core::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  integrators::fitfunctions::NoneFunction< D >
 
struct  integrators::fitfunctions::NoneTransform< I, D, M >
 
struct  integrators::fitfunctions::NoneImpl< I, D, M >
 
struct  integrators::fitfunctions::None
 
struct  integrators::fitfunctions::PolySingularFunction< D >
 
struct  integrators::fitfunctions::PolySingularJacobian< D >
 
struct  integrators::fitfunctions::PolySingularHessian< D >
 
struct  integrators::fitfunctions::PolySingularTransform< I, D, M >
 
struct  integrators::fitfunctions::PolySingularImpl< I, D, M >
 
struct  integrators::fitfunctions::PolySingular
 
struct  integrators::transforms::NoneImpl< I, D >
 
struct  integrators::transforms::None
 
struct  integrators::transforms::BakerImpl< I, D >
 
struct  integrators::transforms::Baker
 
struct  integrators::transforms::detail::IPow< D, n, typename >
 
struct  integrators::transforms::detail::IPow< D, n, typename std::enable_if< n%2 !=0 &&n !=0 >::type >
 
struct  integrators::transforms::detail::IPow< D, n, typename std::enable_if< n==0 >::type >
 
struct  integrators::transforms::detail::Binomial< n, k, typename >
 
struct  integrators::transforms::detail::KorobovCoefficient< D, k, a, b, typename >
 
struct  integrators::transforms::detail::KorobovCoefficient< D, k, a, b, typename std::enable_if< k==0 >::type >
 
struct  integrators::transforms::detail::KorobovTerm< D, k, a, b, typename >
 
struct  integrators::transforms::detail::KorobovTerm< D, k, a, b, typename std::enable_if< k==0 >::type >
 
struct  integrators::transforms::KorobovImpl< I, D, r0, r1 >
 
struct  integrators::transforms::Korobov< r0, r1 >
 
struct  integrators::transforms::detail::Factorial< n, typename >
 
struct  integrators::transforms::detail::Factorial< n, typename std::enable_if< n==0 >::type >
 
struct  integrators::transforms::detail::SidiCoefficient< D, k, r, typename >
 
struct  integrators::transforms::detail::SidiCoefficient< D, k, r, typename std::enable_if<(r % 2) !=0 >::type >
 
struct  integrators::transforms::detail::SidiCoefficient< D, k, r, typename std::enable_if<(r % 2)==0 >::type >
 
struct  integrators::transforms::detail::SidiTerm< D, k, r, typename >
 
struct  integrators::transforms::detail::SidiTerm< D, k, r, typename std::enable_if<(r % 2) !=0 &&(k !=0)>::type >
 
struct  integrators::transforms::detail::SidiTerm< D, k, r, typename std::enable_if<((r % 2) !=0) &&(k==0)>::type >
 
struct  integrators::transforms::detail::SidiTerm< D, k, r, typename std::enable_if<(r % 2)==0 &&(k !=0)>::type >
 
struct  integrators::transforms::detail::SidiTerm< D, k, r, typename std::enable_if<((r % 2)==0) &&(k==0)>::type >
 
struct  integrators::transforms::SidiImpl< I, D, r, typename >
 
struct  integrators::transforms::SidiImpl< I, D, r, typename std::enable_if<(r % 2) !=0 &&(r !=0)>::type >
 
struct  integrators::transforms::SidiImpl< I, D, r, typename std::enable_if<(r % 2)==0 &&(r !=0)>::type >
 
struct  integrators::transforms::SidiImpl< I, D, r, typename std::enable_if< r==0 >::type >
 
struct  integrators::transforms::Sidi< r0 >
 
class  integrators::Qmc< T, D, M, P, F, G, H >
 
struct  integrators::core::cuda::detail::cuda_error
 
class  integrators::core::cuda::detail::cuda_memory< Tin >
 
struct  integrators::core::least_squares_wrapper_t< D, F1, F2, F3 >
 
struct  integrators::core::callback_params_t
 

Namespaces

namespace  integrators
 
namespace  integrators::math
 
namespace  integrators::core
 
namespace  integrators::fitfunctions
 
namespace  integrators::transforms
 
namespace  integrators::transforms::detail
 
namespace  integrators::overloads
 
namespace  integrators::generatingvectors
 
namespace  integrators::core::cuda
 
namespace  integrators::core::cuda::detail
 
namespace  integrators::core::generic
 

Macros

#define QMC_LOGGER_H
 
#define QMC_RESULT_H
 
#define QMC_SAMPLES_H
 
#define QMC_MATH_MUL_MOD_H
 
#define QMC_ERRORMODE_H
 
#define QMC_FITFUNCTIONS_NONE_H
 
#define QMC_HASBATCHING_H
 
#define QMC_FITFUNCTIONS_POLYSINGULAR_H
 
#define QMC_TRANSFORMS_NONE_H
 
#define QMC_TRANSFORMS_BAKER_H
 
#define QMC_TRANSFORMS_KOROBOV_H
 
#define QMC_TRANSFORMS_DETAIL_IPOW_H
 
#define QMC_TRANSFORMS_DETAIL_BINOMIAL_H
 
#define QMC_TRANSFORMS_DETAIL_KOROBOV_COEFFICIENT_H
 
#define QMC_TRANSFORMS_DETAIL_KOROBOV_TERM_H
 
#define QMC_TRANSFORMS_SIDI_H
 
#define QMC_TRANSFORMS_DETAIL_FACTORIAL_H
 
#define QMC_TRANSFORMS_DETAIL_SIDI_COEFFICIENT_H
 
#define QMC_TRANSFORMS_DETAIL_SIDI_TERM_H
 
#define QMC_ARGSORT_H
 
#define QMC_OVERLOADS_REAL_H
 
#define QMC_ABS_CALL   abs(res.error/(res.integral*epsrel))
 
#define QMC_OVERLOADS_COMPLEX_H
 
#define QMC_GENERATINGVECTORS_CBCPT_DN1_100_H
 
#define QMC_GENERATINGVECTORS_CBCPT_DN2_6_H
 
#define QMC_GENERATINGVECTORS_CBCPT_CFFTW1_6_H
 
#define QMC_GENERATINGVECTORS_CBCPT_CFFTW2_10_H
 
#define QMC_GENERATINGVECTORS_NONE
 
#define QMC_CORE_CUDA_COMPUTE_KERNEL_H
 
#define QMC_CORE_CUDA_COMPUTE_H
 
#define QMC_CORE_CUDA_DETAIL_CUDA_MEMORY_H
 
#define QMC_CORE_CUDA_DETAIL_CUDA_SAFE_CALL_H
 
#define QMC_CORE_CUDA_SAFE_CALL(err)
 
#define QMC_CORE_CUDA_SAFE_CALL(err)
 
#define QMC_CORE_CUDA_SETUP_H
 
#define QMC_CORE_CUDA_SAFE_CALL(err)
 
#define QMC_CORE_CUDA_TEARDOWN_H
 
#define QMC_CORE_CUDA_SAFE_CALL(err)
 
#define QMC_CORE_CUDA_GET_DEVICE_COUNT_H
 
#define QMC_CORE_CUDA_SAFE_CALL(err)
 
#define QMC_CORE_GENERIC_COMPUTE_H
 
#define QMC_MODF_CALL   modf( integrators::math::mul_mod<D,D>(offset,z.at(sDim),n)/(static_cast<D>(n)) + d.at(k*func.number_of_integration_variables+sDim), &mynull)
 
#define QMC_MODF_CALL   modf( integrators::math::mul_mod<D,D>(i,z.at(sDim),n)/(static_cast<D>(n)) + d.at(sDim), &mynull)
 
#define QMC_LEAST_SQUARES_H
 
#define QMC_CORE_REDUCE_H
 
#define QMC_MEMBERS_H
 
#define QMC_POW_CALL   pow(error_ratio,static_cast<D>(1)/EXPECTED_SCALING)
 

Typedefs

using integrators::U = unsigned long long int
 
using integrators::core::fit_function_jacobian_wrapper_ptr = int (*)(const gsl_vector * , void *, gsl_matrix *)
 
using integrators::core::fit_function_hessian_wrapper_ptr = int (*)(const gsl_vector *, const gsl_vector *, void *, gsl_vector *)
 

Enumerations

enum  integrators::ErrorMode : int { integrators::all = 1 , integrators::largest = 2 }
 

Functions

template<typename R , typename D >
__host__ __device__ R integrators::math::mul_mod (U a, U b, U k)
 
template<typename T >
std::vector< size_t > integrators::math::argsort (const std::vector< T > &v)
 
template<typename T >
integrators::overloads::compute_variance (const T &mean, const T &variance, const T &sum, const T &delta)
 
template<typename T >
integrators::overloads::compute_error (const T &variance)
 
template<typename T >
integrators::overloads::compute_variance_from_error (const T &error)
 
template<typename T , typename D >
integrators::overloads::compute_error_ratio (const result< T > &res, const D &epsrel, const D &epsabs, const ErrorMode errormode)
 
template<typename T >
integrators::overloads::compute_signed_max_re_im (const result< T > &res)
 
template<typename T >
integrators::overloads::compute_variance_complex (const T &mean, const T &variance, const T &sum, const T &delta)
 
template<typename T >
integrators::overloads::compute_error_complex (const T &svariance)
 
template<typename T >
integrators::overloads::compute_variance_from_error_complex (const T &error)
 
template<typename T , typename D >
integrators::overloads::compute_error_ratio_complex (const result< T > &res, const D &epsrel, const D &epsabs, const ErrorMode errormode)
 
template<typename T >
std::complex< T > integrators::overloads::compute_variance (const std::complex< T > &mean, const std::complex< T > &variance, const std::complex< T > &sum, const std::complex< T > &delta)
 
template<typename T >
std::complex< T > integrators::overloads::compute_error (const std::complex< T > &svariance)
 
template<typename T >
std::complex< T > integrators::overloads::compute_variance_from_error (const std::complex< T > &error)
 
template<typename T , typename D >
integrators::overloads::compute_error_ratio (const result< std::complex< T > > &res, const D &epsrel, const D &epsabs, const ErrorMode errormode)
 
template<typename T >
integrators::overloads::compute_signed_max_re_im (const result< std::complex< T > > &res)
 
template<typename T >
thrust::complex< T > integrators::overloads::compute_variance (const thrust::complex< T > &mean, const thrust::complex< T > &variance, const thrust::complex< T > &sum, const thrust::complex< T > &delta)
 
template<typename T >
thrust::complex< T > integrators::overloads::compute_error (const thrust::complex< T > &svariance)
 
template<typename T >
thrust::complex< T > integrators::overloads::compute_variance_from_error (const thrust::complex< T > &error)
 
template<typename T , typename D >
integrators::overloads::compute_error_ratio (const result< thrust::complex< T > > &res, const D &epsrel, const D &epsabs, const ErrorMode errormode)
 
template<typename T >
integrators::overloads::compute_signed_max_re_im (const result< thrust::complex< T > > &res)
 
std::map< U, std::vector< U > > integrators::generatingvectors::cbcpt_dn1_100 ()
 
std::map< U, std::vector< U > > integrators::generatingvectors::cbcpt_dn2_6 ()
 
std::map< U, std::vector< U > > integrators::generatingvectors::cbcpt_cfftw1_6 ()
 
std::map< U, std::vector< U > > integrators::generatingvectors::cbcpt_cfftw2_10 ()
 
std::map< U, std::vector< U > > integrators::generatingvectors::none ()
 
template<U M, typename T , typename D , typename I >
__global__ void integrators::core::cuda::compute_kernel (const U work_offset, const U work_this_iteration, const U total_work_packages, const U *z, const D *d, T *r, const U d_r_size_over_m, const U n, const U m, I *func)
 
template<U M, typename T , typename D , typename I >
__global__ void integrators::core::cuda::generate_samples_kernel (const U work_offset, const U work_this_iteration, const U *z, const D *d, T *r, const U n, I *func)
 
void integrators::core::cuda::detail::cuda_safe_call (cudaError_t error, const char *file, int line)
 
template<U M, typename I , typename T , typename D , typename Q >
void integrators::core::cuda::compute (const Q &qmc, const U i, const U work_this_iteration, const U total_work_packages, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, const U n, const U m, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, const int device)
 
template<U M, typename I , typename T , typename D , typename Q >
void integrators::core::cuda::generate_samples (const Q &qmc, const U i_start, const U work_this_iteration, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U n, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, const int device)
 
template<typename I , typename T , typename D >
void integrators::core::cuda::setup_sample (std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, const std::vector< U > &z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, const std::vector< D > &d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, const T *r_element, const U r_size_over_m, const U m, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, I &func, const int device, const U verbosity, const Logger &logger)
 
template<typename I , typename T , typename D >
void integrators::core::cuda::setup_evaluate (std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, const std::vector< U > &z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, const std::vector< D > &d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, I &func, const int device, const U verbosity, const Logger &logger)
 
template<typename T >
void integrators::core::cuda::teardown_sample (const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, T *r_element, const U r_size_over_m, const U m, const int device, const U verbosity, const Logger &logger)
 
template<typename T >
void integrators::core::cuda::copy_back (const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size, T *r_element, const int device, const U verbosity, const Logger &logger)
 
int integrators::core::cuda::get_device_count ()
 
template<typename T , typename D , typename I >
void integrators::core::generic::compute (const U i, const std::vector< U > &z, const std::vector< D > &d, T *r_element, const U r_size_over_m, const U total_work_packages, const U n, const U m, const bool batching, I &func)
 
template<typename T , typename D , typename I >
void integrators::core::generic::generate_samples (const U i, const std::vector< U > &z, const std::vector< D > &d, T *r_element, const U n, I &func)
 
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)
 
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)
 
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)
 
void integrators::core::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 integrators::core::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 integrators::core::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 integrators::core::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 integrators::core::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 > 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)
 
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)
 

Variables

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

Macro Definition Documentation

◆ QMC_ABS_CALL

#define QMC_ABS_CALL   abs(res.error/(res.integral*epsrel))

◆ QMC_ARGSORT_H

#define QMC_ARGSORT_H

◆ QMC_CORE_CUDA_COMPUTE_H

#define QMC_CORE_CUDA_COMPUTE_H

◆ QMC_CORE_CUDA_COMPUTE_KERNEL_H

#define QMC_CORE_CUDA_COMPUTE_KERNEL_H

◆ QMC_CORE_CUDA_DETAIL_CUDA_MEMORY_H

#define QMC_CORE_CUDA_DETAIL_CUDA_MEMORY_H

◆ QMC_CORE_CUDA_DETAIL_CUDA_SAFE_CALL_H

#define QMC_CORE_CUDA_DETAIL_CUDA_SAFE_CALL_H

◆ QMC_CORE_CUDA_GET_DEVICE_COUNT_H

#define QMC_CORE_CUDA_GET_DEVICE_COUNT_H

◆ QMC_CORE_CUDA_SAFE_CALL [1/5]

#define QMC_CORE_CUDA_SAFE_CALL ( err)
Value:
{ integrators::core::cuda::detail::cuda_safe_call((err), __FILE__, __LINE__); }
void cuda_safe_call(cudaError_t error, const char *file, int line)
Definition qmc.hpp:1813

◆ QMC_CORE_CUDA_SAFE_CALL [2/5]

#define QMC_CORE_CUDA_SAFE_CALL ( err)
Value:
{ integrators::core::cuda::detail::cuda_safe_call((err), __FILE__, __LINE__); }

◆ QMC_CORE_CUDA_SAFE_CALL [3/5]

#define QMC_CORE_CUDA_SAFE_CALL ( err)
Value:
{ integrators::core::cuda::detail::cuda_safe_call((err), __FILE__, __LINE__); }

◆ QMC_CORE_CUDA_SAFE_CALL [4/5]

#define QMC_CORE_CUDA_SAFE_CALL ( err)
Value:
{ integrators::core::cuda::detail::cuda_safe_call((err), __FILE__, __LINE__); }

◆ QMC_CORE_CUDA_SAFE_CALL [5/5]

#define QMC_CORE_CUDA_SAFE_CALL ( err)
Value:
{ integrators::core::cuda::detail::cuda_safe_call((err), __FILE__, __LINE__); }

◆ QMC_CORE_CUDA_SETUP_H

#define QMC_CORE_CUDA_SETUP_H

◆ QMC_CORE_CUDA_TEARDOWN_H

#define QMC_CORE_CUDA_TEARDOWN_H

◆ QMC_CORE_GENERIC_COMPUTE_H

#define QMC_CORE_GENERIC_COMPUTE_H

◆ QMC_CORE_REDUCE_H

#define QMC_CORE_REDUCE_H

◆ QMC_ERRORMODE_H

#define QMC_ERRORMODE_H

◆ QMC_FITFUNCTIONS_NONE_H

#define QMC_FITFUNCTIONS_NONE_H

◆ QMC_FITFUNCTIONS_POLYSINGULAR_H

#define QMC_FITFUNCTIONS_POLYSINGULAR_H

◆ QMC_GENERATINGVECTORS_CBCPT_CFFTW1_6_H

#define QMC_GENERATINGVECTORS_CBCPT_CFFTW1_6_H

◆ QMC_GENERATINGVECTORS_CBCPT_CFFTW2_10_H

#define QMC_GENERATINGVECTORS_CBCPT_CFFTW2_10_H

◆ QMC_GENERATINGVECTORS_CBCPT_DN1_100_H

#define QMC_GENERATINGVECTORS_CBCPT_DN1_100_H

◆ QMC_GENERATINGVECTORS_CBCPT_DN2_6_H

#define QMC_GENERATINGVECTORS_CBCPT_DN2_6_H

◆ QMC_GENERATINGVECTORS_NONE

#define QMC_GENERATINGVECTORS_NONE

◆ QMC_HASBATCHING_H

#define QMC_HASBATCHING_H

◆ QMC_LEAST_SQUARES_H

#define QMC_LEAST_SQUARES_H

◆ QMC_LOGGER_H

#define QMC_LOGGER_H

◆ QMC_MATH_MUL_MOD_H

#define QMC_MATH_MUL_MOD_H

◆ QMC_MEMBERS_H

#define QMC_MEMBERS_H

◆ QMC_MODF_CALL [1/2]

#define QMC_MODF_CALL   modf( integrators::math::mul_mod<D,D>(offset,z.at(sDim),n)/(static_cast<D>(n)) + d.at(k*func.number_of_integration_variables+sDim), &mynull)

◆ QMC_MODF_CALL [2/2]

#define QMC_MODF_CALL   modf( integrators::math::mul_mod<D,D>(i,z.at(sDim),n)/(static_cast<D>(n)) + d.at(sDim), &mynull)

◆ QMC_OVERLOADS_COMPLEX_H

#define QMC_OVERLOADS_COMPLEX_H

◆ QMC_OVERLOADS_REAL_H

#define QMC_OVERLOADS_REAL_H

◆ QMC_POW_CALL

#define QMC_POW_CALL   pow(error_ratio,static_cast<D>(1)/EXPECTED_SCALING)

◆ QMC_RESULT_H

#define QMC_RESULT_H

◆ QMC_SAMPLES_H

#define QMC_SAMPLES_H

◆ QMC_TRANSFORMS_BAKER_H

#define QMC_TRANSFORMS_BAKER_H

◆ QMC_TRANSFORMS_DETAIL_BINOMIAL_H

#define QMC_TRANSFORMS_DETAIL_BINOMIAL_H

◆ QMC_TRANSFORMS_DETAIL_FACTORIAL_H

#define QMC_TRANSFORMS_DETAIL_FACTORIAL_H

◆ QMC_TRANSFORMS_DETAIL_IPOW_H

#define QMC_TRANSFORMS_DETAIL_IPOW_H

◆ QMC_TRANSFORMS_DETAIL_KOROBOV_COEFFICIENT_H

#define QMC_TRANSFORMS_DETAIL_KOROBOV_COEFFICIENT_H

◆ QMC_TRANSFORMS_DETAIL_KOROBOV_TERM_H

#define QMC_TRANSFORMS_DETAIL_KOROBOV_TERM_H

◆ QMC_TRANSFORMS_DETAIL_SIDI_COEFFICIENT_H

#define QMC_TRANSFORMS_DETAIL_SIDI_COEFFICIENT_H

◆ QMC_TRANSFORMS_DETAIL_SIDI_TERM_H

#define QMC_TRANSFORMS_DETAIL_SIDI_TERM_H

◆ QMC_TRANSFORMS_KOROBOV_H

#define QMC_TRANSFORMS_KOROBOV_H

◆ QMC_TRANSFORMS_NONE_H

#define QMC_TRANSFORMS_NONE_H

◆ QMC_TRANSFORMS_SIDI_H

#define QMC_TRANSFORMS_SIDI_H