diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-07-04 17:13:00 -0400 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-07-04 17:13:00 -0400 |
commit | 38a45d34f4c96e92a2a34ccd97383449fd5207ee (patch) | |
tree | de7f9e62e19379146ba7e7151aa260d991de6784 | |
parent | a81ca4e4bf3c84b9c4fcefe80f23ed59db2d5689 (diff) | |
download | sddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.tar.gz sddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.tar.bz2 sddm-38a45d34f4c96e92a2a34ccd97383449fd5207ee.zip |
update
-rw-r--r-- | quantum_efficiency.c | 11 |
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); } |