1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#ifndef ORACLES_H
#define ORACLES_H
#include <gsl/gsl_blas.h>
#include <gsl/gsl_rng.h>
double bernoulli_extent_generator (const gsl_rng* r, double p, double r0, double r1);
double bernoulli_true_volume (double p, double r0, double r1, unsigned int dimension);
double uniform_extent_generator (const gsl_rng* r, double a, double b);
double uniform_true_volume (double a, double b, unsigned int dimension);
double beta_extent_generator (const gsl_rng* r, double alpha, double beta);
double beta_true_volume (double alpha, double beta, unsigned int dimension);
double symmetric_spiral_extent_oracle (const gsl_vector* x);
double right_triangle_extent_oracle (const gsl_vector* x, double base, double height);
double right_triangle_true_volume (double base, double height);
double sphere_extent_oracle (const gsl_vector* x, double radius);
double sphere_maximum_extent (double radius);
double plane_extent_oracle (const gsl_vector* x, double displacement);
double cube_extent_oracle (const gsl_vector* x, double edge);
double cube_extent_oracle_with_center (const gsl_vector* x, const gsl_vector* center, double edge);
double cube_true_volume (double edge, unsigned int dimension);
double cube_maximum_extent (double edge, unsigned int dimension);
double ellipsoid_extent_oracle (const gsl_vector* x, const gsl_vector* axes);
double ellipsoid_true_volume (const gsl_vector* axes);
double spheroid_extent_oracle (const gsl_vector* x, double eccentricity);
double spheroid_true_volume (double eccentricity, unsigned int dimension);
#endif
|