8 #include "../neutrinos_lra.h"
9 #include "../omega_nu_single.h"
10 #include "../physconst.h"
11 #include "../utils/endrun.h"
17 double fslength(
Cosmology *
CP,
const double logai,
const double logaf,
const double light);
52 double MNu[3] = {0, 0, 0};
72 assert_true(fabs(
specialJ(1,-1, 0) - 0.2117) < 1e-3);
73 assert_true(fabs(
specialJ(2,-1, 0) - 0.0223807) < 1e-3);
74 assert_true(fabs(
specialJ(0.5,-1, 0) - 0.614729) < 1e-3);
75 assert_true(fabs(
specialJ(0.3,-1, 0) - 0.829763) < 1e-3);
78 assert_true(fabs(
specialJ(0,1, 0) - 0.940437) < 1e-4);
79 assert_true(fabs(
specialJ(0.5,1e-2, 0.5) - 0.614729/0.5) < 1e-3);
80 assert_true(fabs(
specialJ(0.5,1, 0.5) - 0.556557/0.5) < 1e-4);
81 assert_true(fabs(
specialJ(1,0.1, 0.5) - 0.211662/0.5) < 1e-4);
98 double MNu[3] = {0.15, 0.15, 0.15};
104 assert_true(fabs(
fslength(&
CP, log(0.5), log(1), 299792.)/ 1272.92/(0.45/kT) -1 ) < 1e-5);
105 double MNu2[3] = {0.2, 0.2, 0.2};
107 assert_true(fabs(
fslength(&
CP, log(0.1), log(0.5),299792.)/ 5427.8/(0.6/kT) -1 ) < 1e-5);
111 const struct CMUnitTest tests[] = {
116 return cmocka_run_group_tests_mpi(tests, NULL, NULL);
void init_cosmology(Cosmology *CP, const double TimeBegin, const struct UnitSystem units)
void init_neutrinos_lra(const int nk_in, const double TimeTransfer, const double TimeMax, const double Omega0, const _omega_nu *const omnu, const double UnitTime_in_s, const double UnitLength_in_cm)
void init_omega_nu(_omega_nu *omnu, const double MNu[], const double a0, const double HubbleParam, const double tcmb0)
double nufrac_low(const double qc)
int petaio_read_block(BigFile *bf, char *blockname, BigArray *array, int required)
void setup_cosmology(Cosmology *CP, double MNu[])
double fslength(Cosmology *CP, const double logai, const double logaf, const double light)
void petaio_save_block(BigFile *bf, char *blockname, BigArray *array, int verbose)
static void test_fslength(void **state)
_delta_tot_table delta_tot_table
static void test_specialJ(void **state)
double specialJ(const double x, const double vcmnubylight, const double nufrac_low)
static void test_allocate_delta_tot_table(void **state)
struct UnitSystem get_unitsystem(double UnitLength_in_cm, double UnitMass_in_g, double UnitVelocity_in_cm_per_s)