pyccl 3.3.2__tar.gz → 3.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyccl-3.3.2 → pyccl-3.3.4}/.github/environment.yml +2 -1
- {pyccl-3.3.2 → pyccl-3.3.4}/.github/workflows/ci.yml +6 -5
- pyccl-3.3.4/.github/workflows/publish.yml +111 -0
- {pyccl-3.3.2/pyccl.egg-info → pyccl-3.3.4}/PKG-INFO +1 -1
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/BuildFFTW.cmake +1 -1
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/FindPythonLibsNew.cmake +4 -4
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/CMakeLists.txt +5 -7
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nonlimber/_nonlimber_FKEM.py +64 -13
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cells.py +98 -0
- {pyccl-3.3.2 → pyccl-3.3.4/pyccl.egg-info}/PKG-INFO +1 -1
- {pyccl-3.3.2 → pyccl-3.3.4}/pyproject.toml +14 -4
- {pyccl-3.3.2 → pyccl-3.3.4}/setup.py +11 -2
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_fftlog.c +12 -16
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_power.c +5 -3
- pyccl-3.3.2/.github/workflows/publish.yml +0 -35
- {pyccl-3.3.2 → pyccl-3.3.4}/CHANGELOG.md +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/CMakeLists.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/CONTRIBUTING.md +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/LICENSE +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/LICENSE_COSMICEMU +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/MANIFEST.in +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/Makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/README.md +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/ccl_test.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/ccl_test_f2d.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/ccl_test_f3d.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/ccl_test_utils.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/conftest.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/ctest.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/IA_halomodel_Cell_test.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/IA_halomodel_norm_term.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m200-c200.crs.all +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m200-c200.crs.relaxed +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m200-c200.cvmax.all +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m200-c200.cvmax.relaxed +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m500-c500.crs.all +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_m500-c500.crs.relaxed +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_mvir-cvir.crs.all +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_mvir-cvir.crs.relaxed +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_mvir-cvir.cvmax.all +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Uchuu_mvir-cvir.cvmax.relaxed +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xim_isitgr_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xim_isitgr_linear_scale_dependence_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xim_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xim_linear_predictionSD.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xim_linear_predictionSI.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xip_isitgr_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xip_isitgr_linear_scale_dependence_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xip_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xip_linear_predictionSD.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/Xip_linear_predictionSI.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/angpow_gg.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/baccoemu_baryons_fk.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/baccoemu_linear.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/baccoemu_nonlinear.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/bin1_histo.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/bin2_histo.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_allz_class_CCL1-11.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_class_allz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_class_extra_mnu.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_class_hiz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_class_lowz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_hiz_mnu_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_hiz_model1-3.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_mnu_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/chi_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cib_class_sz_szpowerspectrum.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cl_hod.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/3dcorr_benchmark.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_cb/emu.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_cb/makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_cb/params.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_tot/emu.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_tot/makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/P_tot/params.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTII/get_bms.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_cb/emu.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_cb/makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_cb/params.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_tot/emu.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_tot/makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/P_tot/params.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/CosmicEmuMTIV/get_bms.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/IAhalo_normalisation_benchmark.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/README.md +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/angpow_benchmarks.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/bbks_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/bcm_bm.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/bocquet20mf.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cib_cl_benchmark.sh +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_cmbl_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_cmblx_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/Makefile +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/bias.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/bin1_analytic.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/bin1_histo.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/bin2_analytic.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/bin2_histo.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/mk_bins.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/LSST_gold_cl_b4_nz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/bins.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/bz_blue.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/e_bias_test.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/pk.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/old/sz_blue.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/curves/z_DESC-CC +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/run_all.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/common.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/common.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/cosmo.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/io.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/limberjack.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/params.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/spectra.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/cl_corr_bm/src/transfers.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/class_sz_P13.ini +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/class_sz_cib.ini +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/create_CLASS_distance_benchmarks.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/distances_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/distances_hiz_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/ehpk_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/ggl_benchmarks.zip +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/growth_allz.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/growth_hiz_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/growth_lowz_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/growth_paper.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/halomod_IA_FFTLog_accuracy.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/halomod_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/hmf_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/hod_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/hod_cl_benchmark.sh +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/kNL.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/kNL_benchmark.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/kNL_benchmark.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/manually_test_power_mnu.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/mdef_colossus.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model1_nl_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model1_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model1_pk_eh.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model1_pk_nu.ini +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model2_nl_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model2_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model2_pk_nu.ini +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model3_nl_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model3_pk.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/model3_pk_nu.ini +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/multiple_neutrino_distances.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/numcosmo_halo_number_counts.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/param_space.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/pt_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/pt_bm_lpt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/run_pk_param_space.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/sigmaM_bm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/codes/sz_cl_benchmark.sh +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/conc_bm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_MTII_cb_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_MTII_cb_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_MTII_tot_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_MTII_tot_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_cb_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_cb_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_tot_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo1_tot_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_MTII_cb_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_MTII_cb_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_MTII_tot_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_MTII_tot_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_cb_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_cb_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_tot_0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/cosmo2_tot_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/covariances/ssc_WL_cov_matrix.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/covariances/ssc_WL_ell.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/covariances/ssc_WL_nofz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dNdzs.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dm_class_allz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dm_class_extra_mnu.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dm_hiz_mnu_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dm_mnu_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/dm_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_cosmologies.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_input_cosmologies.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_nu_cosmologies.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_nu_smooth_pk_M38.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_nu_smooth_pk_M39.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_nu_smooth_pk_M40.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_nu_smooth_pk_M42.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M10.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M3.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M6.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/emu_smooth_pk_M8.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_corr_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_isitgr_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_isitgr_linear_scale_dependence_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_linear_predictionSD.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_linear_predictionSI.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/gammat_mu_0p1_Sigma_0p1.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/growth_allz_cosmomad_ccl1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/growth_cosmomad_allz.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/growth_hiz_model1-3.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/growth_model1-5.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/haloprofile_einasto_colossus.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/haloprofile_hernquist_colossus.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/haloprofile_nfw_colossus.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/haloprofile_nfw_wl_numcosmo.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/haloprofile_projected_nfw_colossus.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hbf_bhattacharya11.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hbf_sheth01.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hbf_tinker10.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_angulo12.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_bocquet16.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_despali16.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_despali16_m200c.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_jenkins01.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_nishimichi19.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_press74.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_sheth99.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_tinker08.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/hmf_watson13.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/ia_amp_analytic_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/ia_amp_analytic_2.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/ia_amp_histo_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/ia_amp_histo_2.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/kNL.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/k_hod.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/mdef_bm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/mf_bocquet20mf.py.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/mfunc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model0_pk_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model0_pk_MG_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model0_pk_isitgr_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_chi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_gf.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_hmf.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_nowig_pk_eh.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_pk.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_pk_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_pk_MG_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_pk_eh.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_pk_isitgr_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_sm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_xi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model1_xiRSD.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_chi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_gf.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_pk.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_pk_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_pk_MG_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_pk_isitgr_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_sm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_xi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model2_xiRSD.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_chi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_gf.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_pk.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_pk_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_pk_MG_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_pk_isitgr_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_sm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_xi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model3_xiRSD.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model4_pk_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model4_pk_MG_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/model4_pk_isitgr_matterpower.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/background.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/benchmarks_nl_full_clgg.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/benchmarks_nl_full_clgs.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/benchmarks_nl_full_clss.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/dNdzs_fullwidth.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/kernels_fullwidth.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/nonlimber/pk.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/numcosmo_cluster_counts.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b1histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b1b2histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/oldcorrfiles/run_b2b2histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c1_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c1_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c2_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c2_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c3_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hm_c3_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pk_hod.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_bacco_lbias_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_bacco_lbias_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_lpt_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_lpt_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_z0.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/pt_bm_z1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_analytic_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_analytic_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_dc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_lc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1analytic_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_dc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_lc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b1histo_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2analytic_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b1b2histo_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1analytic_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1analytic_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1analytic_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1analytic_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1analytic_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1histo_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1histo_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1histo_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1histo_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b1histo_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_dc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_lc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2analytic_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_dc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_ii.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_lc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_li.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_cl_ll.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_dd.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_di.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_dl.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_dltot.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_ii_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_ii_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_li_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_li_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_ll_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_ll_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_lltot_mm.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_b2b2histo_log_wt_lltot_pp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/run_log_cl_cc.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/satellite_shear_profile_cosmoSIS_dev.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/sigma_clustering_Nbin5 +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/sigma_ggl_Nbin5 +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/sigma_xi+_Nbin5 +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/sigma_xi-_Nbin5 +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/sz_cl_P13_szpowerspectrum.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/tSZ_trispectrum_ref_for_cobaya.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/theta_corr_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/trispectrum_terms.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/w_baryonspk_nl.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wo_baryonspk_nl.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_corr_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_isitgr_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_isitgr_linear_scale_dependence_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_linear_prediction.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_linear_predictionSD.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_linear_predictionSI.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/wtheta_mu_0p1_Sigma_0p1.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/xim_corr_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/xim_mu_0p1_Sigma_0p1.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/xip_corr_MG.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/xip_mu_0p1_Sigma_0p1.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/data/z_hod.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/high_prec_pk_benchmarks.ipynb +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_baccoemu_baryons.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_baccoemu_linear.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_baccoemu_nonlinear.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_bbks.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_bcm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_bocquet20_hmf.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_camb_class_consistent.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_cells.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_cib.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_concentration_Ishiyama21.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation_3d.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation_3drsd.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation_MG.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation_MG2.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_correlation_MG3.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_cosmicemu.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_covariances.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_distances.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_eh.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_growth.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_halomod.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_halomod_numbercounts.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_haloprofile.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_hbf.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_hmf.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_hod.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_ia_profile.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_isw.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_kNL.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_massdef.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_nishimichi19_hmf.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_nonlimber.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_pk_4pt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_power_mg.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_power_mg2.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_power_nu.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_ptpk.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_ptpk_bacco_lbias.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_ptpk_lpt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_sigmaM.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_sz.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_timing.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/benchmarks/test_tracers.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/BuildGSL.cmake +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/BuildSWIG.cmake +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/FindFFTW.cmake +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/Modules/FindNumPy.cmake +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/cmake_uninstall.cmake.in +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/cmake/pkg-config.cmakein +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/.gitignore +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/analytic_xi.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/analytic_xi_1.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/analytic_xi_2.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_lin_pre.frac_dev.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_lin_pre.k_arr.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_lin_std.frac_dev.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_lin_std.k_arr.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_nl_pre.frac_dev.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_nl_pre.k_arr.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_nl_std.frac_dev.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/cache_nl_std.k_arr.npy +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/larr_cls.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/model1_xiRSD.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pk_spline_bm.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pk_spline_bm_v2.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pks_lin_comp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pks_lin_test.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pks_nlin_comp.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/pks_nlin_test.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/examples/std_params.dat +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_background.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_bbks.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_cls.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_config.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_core.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_correlation.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_defs.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_eh.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_error.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_f1d.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_f2d.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_f3d.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_fftlog.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_halofit.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_mass_conversion.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_massfunc.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_musigma.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_neutrinos.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_power.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_tracers.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/include/ccl_utils.h +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/.gitignore +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/caching.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/deprecations.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/parameters/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/parameters/cosmology_params.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/parameters/fftlog_params.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/parameters/parameters_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/repr_.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/_core/schema.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/background.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/baryons/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/baryons/baccoemu_baryons.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/baryons/baryons_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/baryons/schneider15.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/baryons/vandaalen19.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/boltzmann.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_background.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_cls.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_core.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_correlation.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_covs.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_f1d.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_fftlog.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_mass_conversion.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_musigma.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_neutrinos.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_pk2d.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_power.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_sigM.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_tk3d.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_tracers.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/ccl_utils.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/cells.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/correlations.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/cosmology.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/covariances.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/baccoemu_linear_pk.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/baccoemu_nonlinear_pk.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/cosmicemu_pk.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/data/CosmicEmu_MTII_2017_Pcb.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/data/CosmicEmu_MTII_2017_Ptot.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/data/CosmicEmu_MTIV_2022_Pcb.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/data/CosmicEmu_MTIV_2022_Ptot.npz +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/emulators/emu_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/errors.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/bhattacharya13.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/constant.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/diemer15.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/duffy08.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/ishiyama21.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/klypin11.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/concentration/prada12.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/halo_model.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/halo_model_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hbias/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hbias/bhattacharya11.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hbias/sheth01.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hbias/sheth99.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hbias/tinker10.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/angulo12.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/bocquet16.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/bocquet20.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/despali16.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/jenkins01.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/nishimichi19.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/press74.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/sheth99.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/tinker08.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/tinker10.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/hmfunc/watson13.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/massdef.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/pk_1pt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/pk_2pt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/pk_4pt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/cib_shang12.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/einasto.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/hernquist.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/hod.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/ia.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/nfw.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/pressure_gnfw.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles/profile_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/halos/profiles_2pt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/modified_gravity/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/modified_gravity/modified_gravity_base.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/modified_gravity/mu_Sigma.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/neutrinos.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nl_pt/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nl_pt/bacco_lbias.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nl_pt/ept.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nl_pt/lpt.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nl_pt/tracers.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/nonlimber/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/numpy.i +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/pk2d.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/pyutils.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/__init__.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/conftest.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test__caching.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_bacco_lbias_power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_baccoemu.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_background.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_baryons.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_baryons_vd19.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cclerror.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cclobject.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_concentration.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_correlations.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cosmicemu.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cosmology.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_cosmology_parameters.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_covariances.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_ept_power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_fftlog.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_gsl_splines.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_halofit_highz.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_halomodel.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_hashing.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_hbias.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_hmcalculator_integrals.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_hmcalculator_number_counts.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_hmfunc.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_lpt_power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_m2r_sM.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_massdef.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_massfunction.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_mg.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_neutrinos.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_nonlin_camb_power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_pk2d.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_pkhm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_power.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_power_mu_sigma_sigma8norm.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_profiles.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_pt_tracers.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_pyutils.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_resampling.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_spline_integ.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_swig_interface.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tk3d.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkk1h.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkk2h.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkk3h.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkk4h.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkk_separable_growth.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkkcNG.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tkkssc.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_tracers.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tests/test_yaml.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tk3d.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl/tracers.py +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl.egg-info/SOURCES.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl.egg-info/dependency_links.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl.egg-info/requires.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/pyccl.egg-info/top_level.txt +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/setup.cfg +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_background.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_bbks.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_cls.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_core.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_correlation.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_eh.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_error.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_f1d.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_f2d.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_f3d.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_halofit.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_mass_conversion.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_massfunc.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_musigma.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_neutrinos.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_tracers.c +0 -0
- {pyccl-3.3.2 → pyccl-3.3.4}/src/ccl_utils.c +0 -0
|
@@ -25,11 +25,12 @@ dependencies:
|
|
|
25
25
|
- wheel # for classy
|
|
26
26
|
- cython < 3 # for classy
|
|
27
27
|
- pip:
|
|
28
|
+
- scipy<1.14
|
|
28
29
|
- classy # Note the benchmarks were generated with 2.9.4
|
|
29
30
|
- isitgr # Note the benchmarks were generated with 1.0.2
|
|
30
31
|
- velocileptors @ git+https://github.com/sfschen/velocileptors
|
|
31
32
|
- baccoemu @ git+https://bitbucket.org/rangulo/baccoemu.git@master
|
|
32
33
|
- MiraTitanHMFemulator
|
|
33
|
-
- dark_emulator
|
|
34
|
+
- dark_emulator @ git+https://github.com/DarkQuestCosmology/dark_emulator_public.git@main # Note the benchmarks were generated with 1.1.2
|
|
34
35
|
- colossus
|
|
35
36
|
|
|
@@ -59,12 +59,13 @@ jobs:
|
|
|
59
59
|
steps:
|
|
60
60
|
|
|
61
61
|
- name: Checkout CCL repository
|
|
62
|
-
uses: actions/checkout@
|
|
62
|
+
uses: actions/checkout@v6
|
|
63
63
|
|
|
64
64
|
- name: Set up conda
|
|
65
|
-
uses: conda-incubator/setup-miniconda@
|
|
65
|
+
uses: conda-incubator/setup-miniconda@v4
|
|
66
66
|
with:
|
|
67
67
|
channels: conda-forge
|
|
68
|
+
conda-remove-defaults: true
|
|
68
69
|
show-channel-urls: true
|
|
69
70
|
miniforge-version: latest
|
|
70
71
|
miniforge-variant: Miniforge3
|
|
@@ -85,7 +86,7 @@ jobs:
|
|
|
85
86
|
run: echo "TODAY=$(date +'%Y.%m.%d')" >> $GITHUB_ENV
|
|
86
87
|
|
|
87
88
|
- name: Get cached environment
|
|
88
|
-
uses: actions/cache@
|
|
89
|
+
uses: actions/cache@v5
|
|
89
90
|
id: cache
|
|
90
91
|
with:
|
|
91
92
|
path: ${{ matrix.prefix }}
|
|
@@ -108,7 +109,7 @@ jobs:
|
|
|
108
109
|
run: echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
|
|
109
110
|
|
|
110
111
|
- name: Cache pip packages
|
|
111
|
-
uses: actions/cache@
|
|
112
|
+
uses: actions/cache@v5
|
|
112
113
|
with:
|
|
113
114
|
path: ${{ steps.pip-cache.outputs.dir }}
|
|
114
115
|
key: pip-py${{ matrix.python-version }}-${{ runner.os }}-${{ hashFiles('**/environment.yml') }}-${{ hashFiles('setup.py') }}
|
|
@@ -146,7 +147,7 @@ jobs:
|
|
|
146
147
|
contents: read
|
|
147
148
|
steps:
|
|
148
149
|
- name: Checkout CCL repository
|
|
149
|
-
uses: actions/checkout@
|
|
150
|
+
uses: actions/checkout@v6
|
|
150
151
|
|
|
151
152
|
- name: Lint
|
|
152
153
|
uses: py-actions/flake8@v2
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
name: Build and publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build_wheels:
|
|
10
|
+
name: Build wheels on ${{ matrix.os }}
|
|
11
|
+
runs-on: ${{ matrix.os }}
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
include:
|
|
16
|
+
- os: ubuntu-latest
|
|
17
|
+
cibw_archs: x86_64
|
|
18
|
+
- os: macos-latest
|
|
19
|
+
cibw_archs: arm64
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout repository
|
|
23
|
+
uses: actions/checkout@v6
|
|
24
|
+
with:
|
|
25
|
+
fetch-depth: 0
|
|
26
|
+
|
|
27
|
+
- name: Build wheels
|
|
28
|
+
uses: pypa/cibuildwheel@v3.3.1
|
|
29
|
+
env:
|
|
30
|
+
CIBW_ARCHS: ${{ matrix.cibw_archs }}
|
|
31
|
+
|
|
32
|
+
- name: Upload wheels
|
|
33
|
+
uses: actions/upload-artifact@v7
|
|
34
|
+
with:
|
|
35
|
+
name: cibw-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}
|
|
36
|
+
path: ./wheelhouse/*.whl
|
|
37
|
+
|
|
38
|
+
build_sdist:
|
|
39
|
+
name: Build source distribution
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
|
|
42
|
+
steps:
|
|
43
|
+
- name: Checkout repository
|
|
44
|
+
uses: actions/checkout@v6
|
|
45
|
+
with:
|
|
46
|
+
fetch-depth: 0
|
|
47
|
+
|
|
48
|
+
- name: Setup Python
|
|
49
|
+
uses: actions/setup-python@v6
|
|
50
|
+
with:
|
|
51
|
+
python-version: "3.10"
|
|
52
|
+
|
|
53
|
+
- name: Install build dependencies
|
|
54
|
+
run: python -m pip install --upgrade pip build
|
|
55
|
+
|
|
56
|
+
- name: Build sdist
|
|
57
|
+
run: python -m build --sdist
|
|
58
|
+
|
|
59
|
+
- name: Upload sdist
|
|
60
|
+
uses: actions/upload-artifact@v7
|
|
61
|
+
with:
|
|
62
|
+
name: cibw-sdist
|
|
63
|
+
path: dist/*.tar.gz
|
|
64
|
+
|
|
65
|
+
publish_testpypi:
|
|
66
|
+
name: Publish to TestPyPI
|
|
67
|
+
needs: [build_wheels, build_sdist]
|
|
68
|
+
runs-on: ubuntu-latest
|
|
69
|
+
if: github.event_name == 'workflow_dispatch'
|
|
70
|
+
environment:
|
|
71
|
+
name: testpypi
|
|
72
|
+
url: https://test.pypi.org/p/pyccl
|
|
73
|
+
permissions:
|
|
74
|
+
contents: read
|
|
75
|
+
id-token: write
|
|
76
|
+
|
|
77
|
+
steps:
|
|
78
|
+
- name: Download all artifacts
|
|
79
|
+
uses: actions/download-artifact@v8
|
|
80
|
+
with:
|
|
81
|
+
pattern: cibw-*
|
|
82
|
+
path: dist
|
|
83
|
+
merge-multiple: true
|
|
84
|
+
|
|
85
|
+
- name: Publish to TestPyPI
|
|
86
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
87
|
+
with:
|
|
88
|
+
repository-url: https://test.pypi.org/legacy/
|
|
89
|
+
|
|
90
|
+
publish:
|
|
91
|
+
name: Publish to PyPI
|
|
92
|
+
needs: [build_wheels, build_sdist]
|
|
93
|
+
runs-on: ubuntu-latest
|
|
94
|
+
if: github.event_name == 'release'
|
|
95
|
+
environment:
|
|
96
|
+
name: pypi
|
|
97
|
+
url: https://pypi.org/p/pyccl
|
|
98
|
+
permissions:
|
|
99
|
+
contents: read
|
|
100
|
+
id-token: write
|
|
101
|
+
|
|
102
|
+
steps:
|
|
103
|
+
- name: Download all artifacts
|
|
104
|
+
uses: actions/download-artifact@v8
|
|
105
|
+
with:
|
|
106
|
+
pattern: cibw-*
|
|
107
|
+
path: dist
|
|
108
|
+
merge-multiple: true
|
|
109
|
+
|
|
110
|
+
- name: Publish to PyPI
|
|
111
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -11,7 +11,7 @@ if(NOT FFTW_FOUND )
|
|
|
11
11
|
ExternalProject_Add(FFTW
|
|
12
12
|
PREFIX FFTW
|
|
13
13
|
URL http://www.fftw.org/fftw-${FFTWVersion}.tar.gz
|
|
14
|
-
URL_MD5 ${
|
|
14
|
+
URL_MD5 ${FFTWMD5}
|
|
15
15
|
DOWNLOAD_NO_PROGRESS 1
|
|
16
16
|
CONFIGURE_COMMAND ./configure --prefix=${CMAKE_BINARY_DIR}/extern --enable-shared=no --with-pic=yes
|
|
17
17
|
BUILD_COMMAND make -j8
|
|
@@ -74,12 +74,12 @@ endif()
|
|
|
74
74
|
# The library suffix is from the config var LDVERSION sometimes, otherwise
|
|
75
75
|
# VERSION. VERSION will typically be like "2.7" on unix, and "27" on windows.
|
|
76
76
|
execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c"
|
|
77
|
-
"
|
|
77
|
+
"import sysconfig as s;import sys;import struct;
|
|
78
78
|
print('.'.join(str(v) for v in sys.version_info));
|
|
79
79
|
print(sys.prefix);
|
|
80
|
-
print(s.
|
|
81
|
-
print(s.
|
|
82
|
-
print(s.get_config_var('SO'));
|
|
80
|
+
print(s.get_path('platinclude'));
|
|
81
|
+
print(s.get_path('platlib'));
|
|
82
|
+
print(s.get_config_var('EXT_SUFFIX') or s.get_config_var('SO') or '');
|
|
83
83
|
print(hasattr(sys, 'gettotalrefcount')+0);
|
|
84
84
|
print(struct.calcsize('@P'));
|
|
85
85
|
print(s.get_config_var('LDVERSION') or s.get_config_var('VERSION'));
|
|
@@ -29,14 +29,12 @@ else()
|
|
|
29
29
|
endif()
|
|
30
30
|
swig_link_libraries(ccllib ccl_static)
|
|
31
31
|
|
|
32
|
+
# SWIG>=4.4 triggers int-conversion warning/error while calling numpy's import_array()
|
|
33
|
+
# GCC 14+ and Clang both treat this as an error.
|
|
34
|
+
target_compile_options(${SWIG_MODULE_ccllib_REAL_NAME} PRIVATE "-Wno-error=int-conversion")
|
|
35
|
+
|
|
32
36
|
if(APPLE)
|
|
33
|
-
#
|
|
34
|
-
# GCC seems to be raising warnings but clang raises an error, instead.
|
|
35
|
-
# We make clang to treat them as warnings with next line.
|
|
36
|
-
target_compile_options(${SWIG_MODULE_ccllib_REAL_NAME} PRIVATE "-Wno-error=int-conversion")
|
|
37
|
-
# Unpleasant subtelty for linking on osx
|
|
37
|
+
# On macOS, allow undefined symbols to be resolved at runtime by the Python interpreter.
|
|
38
38
|
set_target_properties(${SWIG_MODULE_ccllib_REAL_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
|
|
39
|
-
else(APPLE)
|
|
40
|
-
swig_link_libraries(ccllib ${PYTHON_LIBRARIES})
|
|
41
39
|
endif()
|
|
42
40
|
set_target_properties(${SWIG_MODULE_ccllib_REAL_NAME} PROPERTIES SUFFIX .so)
|
|
@@ -41,6 +41,30 @@ def _get_general_params(b):
|
|
|
41
41
|
return nu, deriv, plaw
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
def _get_k_common(ks_1, ks_2):
|
|
45
|
+
"""Get the common k array for the two tracers to perform the final
|
|
46
|
+
chi-integral integration over.
|
|
47
|
+
Args:
|
|
48
|
+
ks_1 (array): List of wavenumbers at which to evaluate
|
|
49
|
+
the chi integrands for tracer 1.
|
|
50
|
+
ks_2 (array): List of wavenumbers at which to evaluate
|
|
51
|
+
the chi integrands for tracer 2.
|
|
52
|
+
Returns:
|
|
53
|
+
k_common (array): Common wavenumbers at which to evaluate the
|
|
54
|
+
chi-integral integration for all tracers.
|
|
55
|
+
"""
|
|
56
|
+
all_ks = [np.asarray(k, dtype=float) for k in (*ks_1, *ks_2)]
|
|
57
|
+
|
|
58
|
+
k_mins = [k[np.isfinite(k) & (k > 0.0)].min() for k in all_ks]
|
|
59
|
+
k_maxs = [k[np.isfinite(k) & (k > 0.0)].max() for k in all_ks]
|
|
60
|
+
|
|
61
|
+
k_min = max(k_mins) # overlap lower bound
|
|
62
|
+
k_max = min(k_maxs) # overlap upper bound
|
|
63
|
+
|
|
64
|
+
n_k = max(len(k) for k in all_ks)
|
|
65
|
+
return np.logspace(np.log10(k_min), np.log10(k_max), n_k)
|
|
66
|
+
|
|
67
|
+
|
|
44
68
|
def _chi_integrands(cosmo, clt,
|
|
45
69
|
Nchi, chi_min, chi_max,
|
|
46
70
|
ell, k_low,
|
|
@@ -77,6 +101,7 @@ def _chi_integrands(cosmo, clt,
|
|
|
77
101
|
|
|
78
102
|
fks = np.zeros((len(kernels), Nchi))
|
|
79
103
|
transfers = np.zeros((len(kernels), Nchi))
|
|
104
|
+
ks = []
|
|
80
105
|
for i in range(len(kernels)):
|
|
81
106
|
k, fk = clt._get_fkem_fft(
|
|
82
107
|
clt._trc[i], Nchi, chi_min, chi_max, ell, cosmo,
|
|
@@ -124,10 +149,11 @@ def _chi_integrands(cosmo, clt,
|
|
|
124
149
|
clt._set_fkem_fft(
|
|
125
150
|
clt._trc[i], cosmo, Nchi, chi_min, chi_max, ell, k, fk,
|
|
126
151
|
)
|
|
152
|
+
ks.append(k)
|
|
127
153
|
fks[i] = fk
|
|
128
154
|
transfers[i] = np.array(clt.get_transfer(np.log(k), avg_as[i]))[i]
|
|
129
155
|
|
|
130
|
-
return
|
|
156
|
+
return ks, fks, transfers
|
|
131
157
|
|
|
132
158
|
|
|
133
159
|
def _auto_limber_transition_ell(clt1, clt2, cosmo, psp_lin, psp_nonlin,
|
|
@@ -243,6 +269,10 @@ def _auto_limber_transition_ell(clt1, clt2, cosmo, psp_lin, psp_nonlin,
|
|
|
243
269
|
+ cls_nonlimber_lin_temp
|
|
244
270
|
)
|
|
245
271
|
thresh = cl_temp / cl_limber_nonlin_temp[-1] - 1.0
|
|
272
|
+
|
|
273
|
+
lib.cl_tracer_collection_t_free(t1_temp)
|
|
274
|
+
lib.cl_tracer_collection_t_free(t2_temp)
|
|
275
|
+
|
|
246
276
|
if np.abs(thresh) >= limber_max_error:
|
|
247
277
|
return status, False
|
|
248
278
|
return status, True
|
|
@@ -273,7 +303,8 @@ def _nonlimber_FKEM(
|
|
|
273
303
|
- chi_min: Minimum comoving distance used by FKEM to sample
|
|
274
304
|
the tracer radial kernels. Must be greater than zero.
|
|
275
305
|
- Nchi: Number of values of the comoving distance over which
|
|
276
|
-
FKEM will interpolate the radial kernels.
|
|
306
|
+
FKEM will interpolate the radial kernels. Default is
|
|
307
|
+
two times the maximum number of chi samples across the tracers.
|
|
277
308
|
- pk_linear: Linear power spectrum to use for growth factor
|
|
278
309
|
scaling. If a string, it must correspond to one of the
|
|
279
310
|
linear power spectra stored in `cosmo`
|
|
@@ -314,12 +345,16 @@ def _nonlimber_FKEM(
|
|
|
314
345
|
if Nchi is None or not isinstance(Nchi, int) or Nchi <= 0:
|
|
315
346
|
warnings.warn("Nchi must be a positive integer. "
|
|
316
347
|
"Setting to match tracer with"
|
|
317
|
-
"
|
|
348
|
+
" large chi samples x 2.",
|
|
318
349
|
category=CCLWarning,
|
|
319
350
|
importance='high'
|
|
320
351
|
)
|
|
321
|
-
|
|
322
|
-
|
|
352
|
+
# We put factor of 2 to help reduce spikes when comparing
|
|
353
|
+
# the decomposed and direct integration approaches to order 1e-6
|
|
354
|
+
# for at least a simple Gaussian density kernel.
|
|
355
|
+
# May need to go higher for different cases.
|
|
356
|
+
Nchi = 2 * max(max(len(i) for i in chis_t1),
|
|
357
|
+
max(len(i) for i in chis_t2))
|
|
323
358
|
if chi_min is None or not isinstance(chi_min, (float)) or chi_min <= 0.0:
|
|
324
359
|
warnings.warn("chi_min must be greater than zero."
|
|
325
360
|
"Setting to default 1e-6 Mpc.",
|
|
@@ -404,14 +439,15 @@ def _nonlimber_FKEM(
|
|
|
404
439
|
check(status, cosmo=cosmo)
|
|
405
440
|
|
|
406
441
|
# chi-integral integrand splines
|
|
407
|
-
|
|
442
|
+
ks, fks_1, transfers_t1 = _chi_integrands(
|
|
408
443
|
cosmo, clt1,
|
|
409
444
|
Nchi, chi_min, chi_max,
|
|
410
445
|
ell, k_low,
|
|
411
446
|
chi_logspace_arr, status
|
|
412
447
|
)
|
|
448
|
+
|
|
413
449
|
if clt1 != clt2:
|
|
414
|
-
|
|
450
|
+
ks_2, fks_2, transfers_t2 = _chi_integrands(
|
|
415
451
|
cosmo, clt2,
|
|
416
452
|
Nchi, chi_min, chi_max,
|
|
417
453
|
ell, k_low,
|
|
@@ -420,12 +456,25 @@ def _nonlimber_FKEM(
|
|
|
420
456
|
else:
|
|
421
457
|
fks_2 = fks_1
|
|
422
458
|
transfers_t2 = transfers_t1
|
|
459
|
+
ks_2 = ks
|
|
460
|
+
k = _get_k_common(ks, ks_2)
|
|
461
|
+
# need to interpolate the fks and transfers to the common k array
|
|
462
|
+
fks_1_interp = np.zeros((len(clt1._trc), len(k)))
|
|
463
|
+
fks_2_interp = np.zeros((len(clt2._trc), len(k)))
|
|
464
|
+
transfers_t1_interp = np.zeros((len(clt1._trc), len(k)))
|
|
465
|
+
transfers_t2_interp = np.zeros((len(clt2._trc), len(k)))
|
|
466
|
+
for i in range(len(clt1._trc)):
|
|
467
|
+
fks_1_interp[i] = np.interp(k, ks[i], fks_1[i])
|
|
468
|
+
transfers_t1_interp[i] = np.interp(k, ks[i], transfers_t1[i])
|
|
469
|
+
for i in range(len(clt2._trc)):
|
|
470
|
+
fks_2_interp[i] = np.interp(k, ks_2[i], fks_2[i])
|
|
471
|
+
transfers_t2_interp[i] = np.interp(k, ks_2[i], transfers_t2[i])
|
|
423
472
|
|
|
424
473
|
cls_nonlimber_lin = np.sum(
|
|
425
|
-
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
474
|
+
fks_1_interp[:, None, :]
|
|
475
|
+
* transfers_t1_interp[:, None, :]
|
|
476
|
+
* fks_2_interp[None, :, :]
|
|
477
|
+
* transfers_t2_interp[None, :, :]
|
|
429
478
|
* (k**kpow
|
|
430
479
|
* pk(k, 1.0, cosmo))[None, None, :]
|
|
431
480
|
* dlnr
|
|
@@ -456,8 +505,8 @@ def _nonlimber_FKEM(
|
|
|
456
505
|
# the limber threshold
|
|
457
506
|
status, is_limber = _auto_limber_transition_ell(
|
|
458
507
|
clt1, clt2, cosmo, psp_lin,
|
|
459
|
-
psp_nonlin,
|
|
460
|
-
|
|
508
|
+
psp_nonlin, fks_1_interp, fks_2_interp,
|
|
509
|
+
transfers_t1_interp, transfers_t2_interp,
|
|
461
510
|
fll_t1, fll_t2, k, kpow,
|
|
462
511
|
pk, dlnr, el, ell,
|
|
463
512
|
limber_max_error, status
|
|
@@ -469,4 +518,6 @@ def _nonlimber_FKEM(
|
|
|
469
518
|
l_limber = ls[-1]
|
|
470
519
|
if False in np.isfinite(cells):
|
|
471
520
|
status = 1
|
|
521
|
+
lib.cl_tracer_collection_t_free(t1)
|
|
522
|
+
lib.cl_tracer_collection_t_free(t2)
|
|
472
523
|
return l_limber, np.array(cells), status
|
|
@@ -279,6 +279,104 @@ def test_fkem_multicomponent_tracer():
|
|
|
279
279
|
assert np.all(np.isfinite(cl_gk))
|
|
280
280
|
|
|
281
281
|
|
|
282
|
+
def test_fkem_decomposed_matches_direct_number_counts_mag():
|
|
283
|
+
z = np.linspace(0.01, 2.0, 200)
|
|
284
|
+
nz = np.exp(-((z - 1.0) ** 2) / 0.1)
|
|
285
|
+
ells = np.arange(2, 200)
|
|
286
|
+
cosmo = ccl.CosmologyVanillaLCDM()
|
|
287
|
+
|
|
288
|
+
ccl_kwargs = dict(
|
|
289
|
+
l_limber=210,
|
|
290
|
+
non_limber_integration_method="FKEM",
|
|
291
|
+
fkem_Nchi=200,
|
|
292
|
+
fkem_chi_min=1e-6,
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
tracer_den = ccl.NumberCountsTracer(
|
|
296
|
+
cosmo,
|
|
297
|
+
dndz=(z, nz),
|
|
298
|
+
bias=(z, 1.5 * np.ones_like(z)),
|
|
299
|
+
has_rsd=False,
|
|
300
|
+
mag_bias=None,
|
|
301
|
+
)
|
|
302
|
+
tracer_mag = ccl.NumberCountsTracer(
|
|
303
|
+
cosmo,
|
|
304
|
+
dndz=(z, nz),
|
|
305
|
+
bias=None,
|
|
306
|
+
has_rsd=False,
|
|
307
|
+
mag_bias=(z, 1.0 * np.ones_like(z)),
|
|
308
|
+
)
|
|
309
|
+
tracer_full = ccl.NumberCountsTracer(
|
|
310
|
+
cosmo,
|
|
311
|
+
dndz=(z, nz),
|
|
312
|
+
bias=(z, 1.5 * np.ones_like(z)),
|
|
313
|
+
has_rsd=False,
|
|
314
|
+
mag_bias=(z, 1.0 * np.ones_like(z)),
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
cl_dd = ccl.angular_cl(cosmo, tracer_den, tracer_den, ells, **ccl_kwargs)
|
|
318
|
+
cl_dM = ccl.angular_cl(cosmo, tracer_den, tracer_mag, ells, **ccl_kwargs)
|
|
319
|
+
cl_MM = ccl.angular_cl(cosmo, tracer_mag, tracer_mag, ells, **ccl_kwargs)
|
|
320
|
+
cl_decomposed = cl_dd + 2.0 * cl_dM + cl_MM
|
|
321
|
+
|
|
322
|
+
cl_direct = ccl.angular_cl(cosmo, tracer_full, tracer_full, ells,
|
|
323
|
+
**ccl_kwargs)
|
|
324
|
+
|
|
325
|
+
rel = np.abs(cl_direct / cl_decomposed - 1.0)
|
|
326
|
+
assert np.all(np.isfinite(rel))
|
|
327
|
+
assert np.max(rel) < 5e-3
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
def test_fkem_decomposed_matches_direct_weak_lensing_ia():
|
|
331
|
+
z = np.linspace(0.01, 2.0, 200)
|
|
332
|
+
nz = np.exp(-((z - 1.0) ** 2) / 0.1)
|
|
333
|
+
ia_amp = 0.5 * np.ones_like(z)
|
|
334
|
+
ells = np.arange(2, 200)
|
|
335
|
+
cosmo = ccl.CosmologyVanillaLCDM()
|
|
336
|
+
|
|
337
|
+
ccl_kwargs = dict(
|
|
338
|
+
l_limber=210,
|
|
339
|
+
non_limber_integration_method="FKEM",
|
|
340
|
+
fkem_Nchi=200,
|
|
341
|
+
fkem_chi_min=1e-6,
|
|
342
|
+
)
|
|
343
|
+
|
|
344
|
+
tracer_lens = ccl.WeakLensingTracer(
|
|
345
|
+
cosmo,
|
|
346
|
+
dndz=(z, nz),
|
|
347
|
+
has_shear=True,
|
|
348
|
+
ia_bias=None,
|
|
349
|
+
)
|
|
350
|
+
tracer_ia = ccl.WeakLensingTracer(
|
|
351
|
+
cosmo,
|
|
352
|
+
dndz=(z, nz),
|
|
353
|
+
has_shear=False,
|
|
354
|
+
ia_bias=(z, ia_amp),
|
|
355
|
+
use_A_ia=False,
|
|
356
|
+
)
|
|
357
|
+
tracer_full = ccl.WeakLensingTracer(
|
|
358
|
+
cosmo,
|
|
359
|
+
dndz=(z, nz),
|
|
360
|
+
has_shear=True,
|
|
361
|
+
ia_bias=(z, ia_amp),
|
|
362
|
+
use_A_ia=False,
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
cl_gg = ccl.angular_cl(cosmo, tracer_lens, tracer_lens, ells,
|
|
366
|
+
**ccl_kwargs)
|
|
367
|
+
cl_gi = ccl.angular_cl(cosmo, tracer_lens, tracer_ia, ells,
|
|
368
|
+
**ccl_kwargs)
|
|
369
|
+
cl_ii = ccl.angular_cl(cosmo, tracer_ia, tracer_ia, ells, **ccl_kwargs)
|
|
370
|
+
cl_decomposed = cl_gg + 2.0 * cl_gi + cl_ii
|
|
371
|
+
|
|
372
|
+
cl_direct = ccl.angular_cl(cosmo, tracer_full, tracer_full, ells,
|
|
373
|
+
**ccl_kwargs)
|
|
374
|
+
|
|
375
|
+
rel = np.abs(cl_direct / cl_decomposed - 1.0)
|
|
376
|
+
assert np.all(np.isfinite(rel))
|
|
377
|
+
assert np.max(rel) < 5e-3
|
|
378
|
+
|
|
379
|
+
|
|
282
380
|
def test_cells_mg():
|
|
283
381
|
# Check that if we feed the non-linear matter power spectrum from a MG
|
|
284
382
|
# cosmology into a Calculator and get Cells using MG tracers, we get the
|
|
@@ -37,10 +37,7 @@ documentation = "https://ccl.readthedocs.io/en/latest/"
|
|
|
37
37
|
repository = "https://github.com/LSSTDESC/CCL"
|
|
38
38
|
|
|
39
39
|
[project.optional-dependencies]
|
|
40
|
-
dev = [
|
|
41
|
-
"pytest",
|
|
42
|
-
"pytest-cov",
|
|
43
|
-
]
|
|
40
|
+
dev = ["pytest", "pytest-cov"]
|
|
44
41
|
|
|
45
42
|
[tool.setuptools.packages.find]
|
|
46
43
|
include = ["pyccl*"]
|
|
@@ -49,3 +46,16 @@ include = ["pyccl*"]
|
|
|
49
46
|
pyccl = ["_ccllib.so", "emulators/data/*.npz"]
|
|
50
47
|
|
|
51
48
|
[tool.setuptools_scm]
|
|
49
|
+
|
|
50
|
+
[tool.cibuildwheel]
|
|
51
|
+
build = "cp310-* cp311-* cp312-* cp313-* cp314-*"
|
|
52
|
+
skip = "pp* *-musllinux_* *-win* *-manylinux_i686 *-manylinux_s390x *-manylinux_ppc64le"
|
|
53
|
+
test-command = "python -c \"import pyccl; print(pyccl.__version__)\""
|
|
54
|
+
|
|
55
|
+
[tool.cibuildwheel.linux]
|
|
56
|
+
manylinux-x86_64-image = "manylinux_2_28"
|
|
57
|
+
manylinux-aarch64-image = "manylinux_2_28"
|
|
58
|
+
before-all = "dnf install -y pcre-devel automake autoconf libtool bison"
|
|
59
|
+
|
|
60
|
+
[tool.cibuildwheel.macos]
|
|
61
|
+
environment = { MACOSX_DEPLOYMENT_TARGET = "11.0" }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import shutil
|
|
2
3
|
import sys
|
|
3
4
|
from subprocess import call
|
|
4
5
|
|
|
@@ -9,10 +10,15 @@ from setuptools.command.develop import develop as _develop
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
def _compile_ccl(debug=False):
|
|
12
|
-
|
|
13
|
+
# Clean stale CMake cache to avoid cross-version contamination
|
|
14
|
+
# (e.g. when cibuildwheel builds multiple Python versions sequentially).
|
|
15
|
+
if os.path.exists("build/CMakeCache.txt"):
|
|
16
|
+
shutil.rmtree("build")
|
|
17
|
+
os.makedirs("build", exist_ok=True)
|
|
13
18
|
v = sys.version_info
|
|
14
19
|
cmd = ["cmake", "-H.", "-Bbuild",
|
|
15
|
-
"-DPYTHON_VERSION=%d.%d.%d" % (v.major, v.minor, v.micro)
|
|
20
|
+
"-DPYTHON_VERSION=%d.%d.%d" % (v.major, v.minor, v.micro),
|
|
21
|
+
"-DPYTHON_EXECUTABLE=%s" % sys.executable]
|
|
16
22
|
if debug:
|
|
17
23
|
cmd += ["-DCMAKE_BUILD_TYPE=Debug"]
|
|
18
24
|
if call(cmd) != 0:
|
|
@@ -45,6 +51,9 @@ class Distribution(_distribution):
|
|
|
45
51
|
self.debug = False
|
|
46
52
|
super().__init__(attr)
|
|
47
53
|
|
|
54
|
+
def has_ext_modules(self):
|
|
55
|
+
return True
|
|
56
|
+
|
|
48
57
|
|
|
49
58
|
class Build(_build):
|
|
50
59
|
"""Specialized Python source builder."""
|
|
@@ -208,7 +208,7 @@ static void fht(int npk, int N,
|
|
|
208
208
|
double dim, double mu, double q, double kcrc,
|
|
209
209
|
int noring, double complex* u, int *status)
|
|
210
210
|
{
|
|
211
|
-
fftw_plan forward_plan, reverse_plan;
|
|
211
|
+
fftw_plan forward_plan = NULL, reverse_plan = NULL;
|
|
212
212
|
double L = log(k[N-1]/k[0]) * N/(N-1.);
|
|
213
213
|
double complex* ulocal = NULL;
|
|
214
214
|
if(u == NULL) {
|
|
@@ -225,8 +225,8 @@ static void fht(int npk, int N,
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
fftw_complex* a_tmp;
|
|
229
|
-
fftw_complex* b_tmp;
|
|
228
|
+
fftw_complex* a_tmp = NULL;
|
|
229
|
+
fftw_complex* b_tmp = NULL;
|
|
230
230
|
if(*status == 0) {
|
|
231
231
|
a_tmp = fftw_alloc_complex(N);
|
|
232
232
|
if(a_tmp==NULL)
|
|
@@ -336,10 +336,8 @@ static void fht(int npk, int N,
|
|
|
336
336
|
} //end omp parallel
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
if(
|
|
340
|
-
|
|
341
|
-
fftw_destroy_plan(reverse_plan);
|
|
342
|
-
}
|
|
339
|
+
if(forward_plan != NULL) fftw_destroy_plan(forward_plan);
|
|
340
|
+
if(reverse_plan != NULL) fftw_destroy_plan(reverse_plan);
|
|
343
341
|
|
|
344
342
|
free(ulocal);
|
|
345
343
|
//TODO: free this up
|
|
@@ -347,7 +345,7 @@ static void fht(int npk, int N,
|
|
|
347
345
|
fftw_free(b_tmp);
|
|
348
346
|
}
|
|
349
347
|
|
|
350
|
-
/* Compute the discrete Hankel transform of the function a(r)
|
|
348
|
+
/* Compute the discrete Hankel transform of the function a(r)
|
|
351
349
|
* weighted by a power law and the nth derivative of the
|
|
352
350
|
* (spherical) bessel function. Explicitly, this function computes
|
|
353
351
|
* \tilde{a}(k)= \int \frac{dr}{(xk)^plaw} a(r) (J/j)^(n)_\mu(xk)
|
|
@@ -369,11 +367,11 @@ static void general_fht(int npk, int N,
|
|
|
369
367
|
kcrc = mu+1.0;
|
|
370
368
|
mu = mu+0.5*spherical_bessel;
|
|
371
369
|
|
|
372
|
-
fftw_plan forward_plan, reverse_plan;
|
|
370
|
+
fftw_plan forward_plan = NULL, reverse_plan = NULL;
|
|
373
371
|
double L = log(k[N-1]/k[0]) * N/(N-1.);
|
|
374
372
|
double complex* ulocal = NULL;
|
|
375
373
|
if(u == NULL) {
|
|
376
|
-
|
|
374
|
+
|
|
377
375
|
kcrc = goodkr_new_deriv(N, mu, q, L, spherical_bessel, bessel_deriv,plaw, kcrc);
|
|
378
376
|
|
|
379
377
|
ulocal = malloc (sizeof(complex double)*N);
|
|
@@ -386,8 +384,8 @@ static void general_fht(int npk, int N,
|
|
|
386
384
|
}
|
|
387
385
|
}
|
|
388
386
|
|
|
389
|
-
fftw_complex* a_tmp;
|
|
390
|
-
fftw_complex* b_tmp;
|
|
387
|
+
fftw_complex* a_tmp = NULL;
|
|
388
|
+
fftw_complex* b_tmp = NULL;
|
|
391
389
|
if(*status == 0) {
|
|
392
390
|
a_tmp = fftw_alloc_complex(N);
|
|
393
391
|
if(a_tmp==NULL)
|
|
@@ -500,10 +498,8 @@ static void general_fht(int npk, int N,
|
|
|
500
498
|
} //end omp parallel
|
|
501
499
|
}
|
|
502
500
|
|
|
503
|
-
if(
|
|
504
|
-
|
|
505
|
-
fftw_destroy_plan(reverse_plan);
|
|
506
|
-
}
|
|
501
|
+
if(forward_plan != NULL) fftw_destroy_plan(forward_plan);
|
|
502
|
+
if(reverse_plan != NULL) fftw_destroy_plan(reverse_plan);
|
|
507
503
|
|
|
508
504
|
free(ulocal);
|
|
509
505
|
//TODO: free this up
|
|
@@ -129,10 +129,12 @@ static ccl_f2d_t *ccl_compute_linpower_analytic(ccl_cosmology* cosmo, void* par,
|
|
|
129
129
|
y2d[j] += log_sigma8;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
// Free the first spline unconditionally; re-allocate with normalisation only on success.
|
|
133
|
+
// Without this, ccl_sigma8 failure above would leak the first psp_out.
|
|
134
|
+
ccl_f2d_t_free(psp_out);
|
|
135
|
+
psp_out = NULL;
|
|
136
|
+
|
|
132
137
|
if(*status==0) {
|
|
133
|
-
// Free the previous P(k,a) spline, and allocate a new one to store the
|
|
134
|
-
// properly-normalized P(k,a)
|
|
135
|
-
ccl_f2d_t_free(psp_out);
|
|
136
138
|
psp_out = ccl_f2d_t_new(na,z,nk,x,y2d,NULL,NULL,0,
|
|
137
139
|
1,2,ccl_f2d_cclgrowth,1,0,2,
|
|
138
140
|
ccl_f2d_3,status);
|