aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortlatorre <tlatorre@uchicago.edu>2018-07-04 17:13:00 -0400
committertlatorre <tlatorre@uchicago.edu>2018-07-04 17:13:00 -0400
commit38a45d34f4c96e92a2a34ccd97383449fd5207ee (patch)
treede7f9e62e19379146ba7e7151aa260d991de6784
parenta81ca4e4bf3c84b9c4fcefe80f23ed59db2d5689 (diff)
downloadsddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.tar.gz
sddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.tar.bz2
sddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.zip
update
-rw-r--r--quantum_efficiency.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/quantum_efficiency.c b/quantum_efficiency.c
index 02aea06..f8ae972 100644
--- a/quantum_efficiency.c
+++ b/quantum_efficiency.c
@@ -2,12 +2,17 @@
#include <errno.h>
#include <string.h>
#include <stdlib.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_spline.h>
static int initialized = 0;
static double *x, *y;
static size_t size;
+gsl_interp_accel *acc;
+gsl_spline *spline;
+
static int init()
{
int i;
@@ -94,6 +99,10 @@ static int init()
fclose(f);
+ acc = gsl_interp_accel_alloc();
+ spline = gsl_spline_alloc(gsl_interp_linear, size);
+ gsl_spline_init(spline, x, y, size);
+
initialized = 1;
return 0;
@@ -111,4 +120,6 @@ double get_quantum_efficiency(double wavelength)
exit(1);
}
}
+
+ return gsl_spline_eval(spline, wavelength, acc);
}