aboutsummaryrefslogtreecommitdiff
path: root/include/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/utils.h')
-rw-r--r--include/utils.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/utils.h b/include/utils.h
new file mode 100644
index 0000000..220320e
--- /dev/null
+++ b/include/utils.h
@@ -0,0 +1,28 @@
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <gsl/gsl_roots.h>
+#include <gsl/gsl_vector.h>
+
+#define SIGNUM(x) ((x) < 0 ? -1 : 1)
+
+double volume_of_ball (unsigned int dimension);
+double ln_volume_of_ball (unsigned int dimension);
+double surface_area_of_ball (unsigned int dimension);
+double ln_surface_area_of_ball (unsigned int dimension);
+double lower_incomplete_gamma (double s, double x);
+
+double angle_between_vectors (const gsl_vector* x, const gsl_vector* y);
+double dot_product (const gsl_vector* x, const gsl_vector* y);
+double gaussian_pdf (double x);
+double gaussian_cdf (double x);
+
+double rerror (double approx, double exact);
+
+double gprate (double start, double last, unsigned int n);
+double gpterm (double a, double r, int n);
+
+double bisection (gsl_function* f, double a, double b);
+double bisection_rlimit (gsl_function* f, double a, double b);
+
+#endif