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_hiz_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_hiz_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]);
85 double Omega_v[5] = { 0.7, 0.7, 0.7, 0.65, 0.75 };
86 double w_0[5] = { -1.0, -0.9, -0.9, -0.9, -0.9 };
87 double w_a[5] = { 0.0, 0.0, 0.1, 0.1, 0.1 };
92 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];
121 for (
int i=0; i<5; i++) {
122 data->Omega_v[i] = Omega_v[i];
123 data->w_0[i] = w_0[i];
124 data->w_a[i] = w_a[i];
125 data->Omega_k[i] = 1.0 - data->Omega_c - data->Omega_b - data->Omega_v[i];
126 data->Neff[i] = Neff[i];
149 data->
w_0[model], data->
w_a[model],
150 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
151 }
else if (model==1){
154 data->
w_0[model], data->
w_a[model],
155 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
156 }
else if (model==2){
159 data->
w_0[model], data->
w_a[model],
160 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
161 }
else if (model ==3){
164 data->
w_0[model], data->
w_a[model],
165 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
166 }
else if (model ==4){
169 data->
w_0[model], data->
w_a[model],
170 data->
h, data->
A_s, data->
n_s,-1,-1,-1,-1,NULL,NULL, &status);
178 for (
int j=0; j<5; j++) {
179 double a = 1/(1.+data->
z[j]);
183 if (fabs(absolute_tolerance)<1e-12) absolute_tolerance = 1e-12;
191 if (fabs(absolute_tolerance)<1e-4) absolute_tolerance = 1e-4;
199 CTEST2(distances_astropy_mnu_hiz, model_1) {
204 CTEST2(distances_astropy_mnu_hiz, model_2) {
209 CTEST2(distances_astropy_mnu_hiz, model_3) {
214 CTEST2(distances_astropy_mnu_hiz, model_4) {
219 CTEST2(distances_astropy_mnu_hiz, model_5) {
#define DISTANCES_TOLERANCE
size_t count(InputIterator first, InputIterator last, T const &item)
#define CTEST_SETUP(sname)
#define CTEST_DATA(sname)
ccl_cosmology * ccl_cosmology_create(ccl_parameters params, ccl_configuration config)
static void read_chi_test_file(double z[5], double chi[5][5])
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])
ccl_mnu_convention mnu_type
const ccl_configuration default_config
#define ASSERT_EQUAL(exp, real)
#define ASSERT_NOT_NULL(real)
static void compare_distances_hiz_mnu(int model, struct distances_astropy_mnu_hiz_data *data)
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)