Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
gm_to_dirac_short_standard_normal_deviation_c.h
1#ifndef GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_C_H
2#define GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_C_H
3
4#include "gm_to_dirac_short_standard_normal_deviation.h"
5
6#ifdef _WIN32
7#define DLL_EXPORT __declspec(dllexport)
8#else
9#define DLL_EXPORT
10#endif
11
12extern "C" {
13
14DLL_EXPORT void* create_gm_to_dirac_short_standard_normal_deviation_double() {
16}
17
18DLL_EXPORT void delete_gm_to_dirac_short_standard_normal_deviation_double(
19 void* instance) {
21 instance);
22}
23
24DLL_EXPORT bool gm_to_dirac_short_standard_normal_deviation_double_approximate(
25 void* instance, size_t L, size_t N, size_t bMax, double* x,
26 const double* wX, GslminimizerResult* result,
29 instance);
30 return obj->approximate(L, N, bMax, x, wX, result,
32}
33
34DLL_EXPORT void
35gm_to_dirac_short_standard_normal_deviation_double_modified_van_mises_distance_sq(
36 void* instance, double* distance, size_t L, size_t N, size_t bMax,
37 double* x, const double* wX) {
39 instance);
40 obj->modified_van_mises_distance_sq(distance, L, N, bMax, x, wX);
41}
42
43DLL_EXPORT void
44gm_to_dirac_short_standard_normal_deviation_double_modified_van_mises_distance_sq_derivative(
45 void* instance, double* gradient, size_t L, size_t N, size_t bMax,
46 double* x, const double* wX) {
48 instance);
50}
51
52DLL_EXPORT void* create_gm_to_dirac_short_standard_normal_deviation_float() {
54}
55
56DLL_EXPORT void delete_gm_to_dirac_short_standard_normal_deviation_float(
57 void* instance) {
59 instance);
60}
61
62DLL_EXPORT bool gm_to_dirac_short_standard_normal_deviation_float_approximate(
63 void* instance, size_t L, size_t N, size_t bMax, float* x, const float* wX,
66 instance);
67 return obj->approximate(L, N, bMax, x, wX, result,
69}
70
71DLL_EXPORT void
72gm_to_dirac_short_standard_normal_deviation_float_modified_van_mises_distance_sq(
73 void* instance, float* distance, size_t L, size_t N, size_t bMax, float* x,
74 const float* wX) {
76 instance);
77 obj->modified_van_mises_distance_sq(distance, L, N, bMax, x, wX);
78}
79
80DLL_EXPORT void
81gm_to_dirac_short_standard_normal_deviation_float_modified_van_mises_distance_sq_derivative(
82 void* instance, float* gradient, size_t L, size_t N, size_t bMax, float* x,
83 const float* wX) {
85 instance);
87}
88
89} // extern "C"
90
91#endif // GM_TO_DIRAC_SHORT_STANDARD_NORMAL_DEVIATION_C_H
Definition dirac_to_dirac_approx_short.h:9
void modified_van_mises_distance_sq(T *distance, const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, const T *wX=nullptr, const T *wY=nullptr) override
calculate modified van mises distance based on x and y
Definition dirac_to_dirac_approx_short.cpp:40
void modified_van_mises_distance_sq_derivative(T *gradient, const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, const T *wX=nullptr, const T *wY=nullptr) override
calculate modified van mises distance based on x and y
Definition dirac_to_dirac_approx_short.cpp:55
bool approximate(const T *y, size_t M, size_t L, size_t N, size_t bMax, T *x, const T *wX=nullptr, const T *wY=nullptr, GslminimizerResult *result=nullptr, const ApproximateOptions &options=ApproximateOptions{}) override
reduce the data points using raw pointers
Definition dirac_to_dirac_approx_short.cpp:24
Definition approximate_options.h:6
struct to hold the result of the minimization
Definition gsl_minimizer.h:32