11 #define DISTANCES_TOLERANCE 1.0e-3 20 double mnu0[3], mnu1[3], mnu2[3], mnu3[3], mnu4[3];
37 FILE * f = fopen(
"./tests/benchmark/chi_mnu_model1-5.txt",
"r");
45 for (
int i=0; i<5; i++) {
46 int count = fscanf(f,
"%le %le %le %le %le %le\n", &z[i],
47 &chi[0][i], &chi[1][i], &chi[2][i], &chi[3][i], &chi[4][i]);
57 FILE * f = fopen(
"./tests/benchmark/dm_mnu_model1-5.txt",
"r");
65 for (
int i=0; i<5; i++) {
66 int count = fscanf(f,
"%le %le %le %le %le %le\n", &z[i],
67 &dm[0][i], &dm[1][i], &dm[2][i], &dm[3][i], &dm[4][i]);
86 double Omega_v[5] = { 0.7, 0.7, 0.7, 0.65, 0.75 };
87 double w_0[5] = { -1.0, -0.9, -0.9, -0.9, -0.9 };
88 double w_a[5] = { 0.0, 0.0, 0.1, 0.1, 0.1 };
93 double Neff[5] = {3, 3, 3, 3, 3};
95 double mnu0[3] = {0.04, 0., 0.};
96 double mnu1[3] = {0.05, 0.01, 0.};
97 double mnu2[3] = {0.03, 0.02, 0.04};
98 double mnu3[3] = {0.05, 0., 0.};
99 double mnu4[3] = {0.03, 0.02, 0.};
101 data->mnu0[0] = mnu0[0];
102 data->mnu1[0] = mnu1[0];
103 data->mnu2[0] = mnu2[0];
104 data->mnu3[0] = mnu3[0];
105 data->mnu4[0] = mnu4[0];
107 data->mnu0[1] = mnu0[1];
108 data->mnu1[1] = mnu1[1];
109 data->mnu2[1] = mnu2[1];
110 data->mnu3[1] = mnu3[1];
111 data->mnu4[1] = mnu4[1];
113 data->mnu0[2] = mnu0[2];
114 data->mnu1[2] = mnu1[2];
115 data->mnu2[2] = mnu2[2];
116 data->mnu3[2] = mnu3[2];
117 data->mnu4[2] = mnu4[2];
120 for (
int i=0; i<5; i++) {
121 data->Omega_v[i] = Omega_v[i];
122 data->w_0[i] = w_0[i];
123 data->w_a[i] = w_a[i];
124 data->Omega_k[i] = 1.0 - data->Omega_c - data->Omega_b - data->Omega_v[i];
125 data->Neff[i] = Neff[i];
147 data->
Neff[model], data->
mnu0, data-> mnu_type,
148 data->
w_0[model], data->
w_a[model],
149 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
150 }
else if (model==1){
153 data->
w_0[model], data->
w_a[model],
154 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
155 }
else if (model==2){
158 data->
w_0[model], data->
w_a[model],
159 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
160 }
else if (model ==3){
163 data->
w_0[model], data->
w_a[model],
164 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
165 }
else if (model ==4){
168 data->
w_0[model], data->
w_a[model],
169 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
177 for (
int j=0; j<5; j++) {
178 double a = 1/(1.+data->
z[j]);
182 if (fabs(absolute_tolerance)<1e-12) absolute_tolerance = 1e-12;
190 if (fabs(absolute_tolerance)<1e-4) absolute_tolerance = 1e-4;
198 CTEST2(distances_astropy_mnu_lowz, model_1) {
203 CTEST2(distances_astropy_mnu_lowz, model_2) {
208 CTEST2(distances_astropy_mnu_lowz, model_3) {
213 CTEST2(distances_astropy_mnu_lowz, model_4) {
218 CTEST2(distances_astropy_mnu_lowz, model_5) {
static void read_chi_test_file(double z[5], double chi[5][5])
#define DISTANCES_TOLERANCE
size_t count(InputIterator first, InputIterator last, T const &item)
ccl_mnu_convention mnu_type
#define CTEST_SETUP(sname)
#define CTEST_DATA(sname)
static void compare_distances_mnu(int model, struct distances_astropy_mnu_lowz_data *data)
ccl_cosmology * ccl_cosmology_create(ccl_parameters params, ccl_configuration config)
void ccl_cosmology_free(ccl_cosmology *cosmo)
#define ASSERT_DBL_NEAR_TOL(exp, real, tol)
static void read_dm_test_file(double z[5], double dm[5][5])
const ccl_configuration default_config
#define ASSERT_EQUAL(exp, real)
#define ASSERT_NOT_NULL(real)
double ccl_distance_modulus(ccl_cosmology *cosmo, double a, int *status)
ccl_parameters ccl_parameters_create(double Omega_c, double Omega_b, double Omega_k, double Neff, double *mnu, ccl_mnu_convention mnu_type, double w0, double wa, double h, double norm_pk, double n_s, double bcm_log10Mc, double bcm_etab, double bcm_ks, int nz_mgrowth, double *zarr_mgrowth, double *dfarr_mgrowth, int *status)
double ccl_comoving_radial_distance(ccl_cosmology *cosmo, double a, int *status)
#define CTEST2(sname, tname)