aboutsummaryrefslogtreecommitdiff
path: root/include/utils.h
diff options
context:
space:
mode:
authorArun Isaac2021-02-03 19:40:10 +0530
committerArun Isaac2021-02-03 19:40:10 +0530
commit983f091af7849f259366f641b438ac1fee3df940 (patch)
treefd42196b6031638fd906afd8acbc5c26e34ce305 /include/utils.h
parent707afdfe66dd9c931af77e4ff73186fd89ed27fd (diff)
downloadnsmc-983f091af7849f259366f641b438ac1fee3df940.tar.gz
nsmc-983f091af7849f259366f641b438ac1fee3df940.tar.lz
nsmc-983f091af7849f259366f641b438ac1fee3df940.zip
Move source files and headers to separate directories.
* extent-sampling.h, gaussian-nd-random.h, nd-random.h, oracles.h, utils.h: Move into include directory. * extent-sampling.c, gaussian-nd-random.c, nd-random.c, oracles.c, utils.c: Move into src directory. * CMakeLists.txt: Set include as include directory. Look for source files inside src directory.
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