use darkmatter::physics::sommerfeld::{
boost_factor_cluster, boost_factor_dwarf, effective_cross_section, freeze_out_boost,
saturation_velocity, sommerfeld_coulomb, sommerfeld_p_wave, sommerfeld_yukawa_resonant,
sommerfeld_yukawa_s_wave, thermal_average_sommerfeld_coulomb, unitarity_bound,
velocity_weighted_sigma_v,
};
fn main() {
let alpha = 0.01;
let v = 1e-3;
let s_c = sommerfeld_coulomb(alpha, v);
let s_yk = sommerfeld_yukawa_s_wave(alpha, 100.0, 1.0, v);
let s_res = sommerfeld_yukawa_resonant(alpha, 100.0, 0.1, v, 1);
let s_p = sommerfeld_p_wave(alpha, v);
let ub = unitarity_bound(100.0, v);
let sigma = effective_cross_section(1e-36, alpha, 200.0);
let s_thermal = thermal_average_sommerfeld_coulomb(alpha, 25.0);
let boost = freeze_out_boost(alpha, 100.0, 4.0);
let sv = velocity_weighted_sigma_v(3e-26, alpha, 10.0);
let b_dwarf = boost_factor_dwarf(alpha, 10.0);
let b_cluster = boost_factor_cluster(alpha, 1000.0);
let v_sat = saturation_velocity(alpha, 100.0, 1.0);
let total = s_c
+ s_yk
+ s_res
+ s_p
+ ub
+ sigma
+ s_thermal
+ boost
+ sv
+ b_dwarf
+ b_cluster
+ v_sat;
assert!(total.is_finite());
}