From 1c9128be78a68805ab0d80631c1984fd4291d894 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Wed, 3 Feb 2021 13:02:23 +0530 Subject: Initial commit --- utils.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 utils.h (limited to 'utils.h') diff --git a/utils.h b/utils.h new file mode 100644 index 0000000..220320e --- /dev/null +++ b/utils.h @@ -0,0 +1,28 @@ +#ifndef UTILS_H +#define UTILS_H + +#include +#include + +#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 -- cgit v1.2.3