Deterministic Gaussian Sampling
Loading...
Searching...
No Matches
dirac_to_dirac_approx_short_function_c.h
1#ifndef DIRAC_TO_DIRAC_APPROX_SHORT_FUNCTION_C_H
2#define DIRAC_TO_DIRAC_APPROX_SHORT_FUNCTION_C_H
3
4#include "dirac_to_dirac_approx_short_function.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_dirac_to_dirac_approx_short_function_double() {
16}
17
18DLL_EXPORT void delete_dirac_to_dirac_approx_short_function_double(
19 void* instance) {
21}
22
23DLL_EXPORT bool dirac_to_dirac_approx_short_function_double_approximate(
24 void* instance, const double* y, size_t M, size_t L, size_t N, size_t bMax,
25 double* x,
29 auto* obj =
31 return obj->approximate(y, M, L, N, bMax, x, wXcallback, wXDcallback, result,
33}
34
35DLL_EXPORT void
36dirac_to_dirac_approx_short_function_double_modified_van_mises_distance_sq(
37 void* instance, double* distance, const double* y, size_t M, size_t L,
38 size_t N, size_t bMax, double* x,
41 auto* obj =
43 obj->modified_van_mises_distance_sq(distance, y, M, L, N, bMax, x,
44 wXcallback, wXDcallback);
45}
46
47DLL_EXPORT void
48dirac_to_dirac_approx_short_function_double_modified_van_mises_distance_sq_derivative(
49 void* instance, double* gradient, const double* y, size_t M, size_t L,
50 size_t N, size_t bMax, double* x,
53 auto* obj =
56 wXcallback, wXDcallback);
57}
58
59} // extern "C"
60
61#endif // DIRAC_TO_DIRAC_APPROX_SHORT_FUNCTION_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