CCL
ccl_utils.h
Go to the documentation of this file.
1 
2 #ifdef __cplusplus
3 extern "C" {
4 #endif
5 
6 #pragma once
7 #include "gsl/gsl_spline.h"
8 
16 double * ccl_linear_spacing(double xmin, double xmax, int N);
17 
18 
26 double * ccl_log_spacing(double xmin, double xmax, int N);
27 
32 typedef struct {
33  gsl_interp_accel *intacc; //GSL spline
34  gsl_spline *spline;
35  double x0,xf; //Interpolation limits
36  double y0,yf; //Constant values to use beyond interpolation limit
37 } SplPar;
38 
39 SplPar *ccl_spline_init(int n,double *x,double *y,double y0,double yf);
40 
41 double ccl_spline_eval(double x,SplPar *spl);
42 
43 void ccl_spline_free(SplPar *spl);
44 
45 #ifdef __cplusplus
46 }
47 #endif
double xf
Definition: ccl_utils.h:35
double * ccl_log_spacing(double xmin, double xmax, int N)
Definition: ccl_utils.c:39
gsl_interp_accel * intacc
Definition: ccl_utils.h:33
Definition: ccl_utils.h:32
double ccl_spline_eval(double x, SplPar *spl)
Definition: ccl_utils.c:100
void ccl_spline_free(SplPar *spl)
Definition: ccl_utils.c:118
double * ccl_linear_spacing(double xmin, double xmax, int N)
Definition: ccl_utils.c:14
gsl_spline * spline
Definition: ccl_utils.h:34
double yf
Definition: ccl_utils.h:36
SplPar * ccl_spline_init(int n, double *x, double *y, double y0, double yf)
Definition: ccl_utils.c:76