nested-fit 6.0.0.dev137__tar.gz → 6.0.0.dev139__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.
Files changed (245) hide show
  1. {nested_fit-6.0.0.dev137/nested_fit.egg-info → nested_fit-6.0.0.dev139}/PKG-INFO +17 -1
  2. nested_fit-6.0.0.dev137/PKG-INFO → nested_fit-6.0.0.dev139/README.md +16 -27
  3. nested_fit-6.0.0.dev137/README.md → nested_fit-6.0.0.dev139/nested_fit.egg-info/PKG-INFO +43 -0
  4. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nested_fit.egg-info/SOURCES.txt +1 -0
  5. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/cliw.py +2 -0
  6. nested_fit-6.0.0.dev139/pynested_fit/compilers.py +21 -0
  7. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/nested_run.py +2 -0
  8. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pyproject.toml +2 -2
  9. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/funceval/auto_func.f90 +28 -8
  10. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/.github/dependabot.yml +0 -0
  11. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/.github/workflows/build_wheels.yml +0 -0
  12. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/.gitignore +0 -0
  13. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/CMakeLists.txt +0 -0
  14. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/LICENSE +0 -0
  15. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/STEPBYSTEP_INSTALL.md +0 -0
  16. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/ThirdParty.md +0 -0
  17. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/benchmarks_and_tests.ipynb +0 -0
  18. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/benefit_per_step.py +0 -0
  19. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/gpu_performance_model.ipynb +0 -0
  20. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/levers_matrix.py +0 -0
  21. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/levers_matrix_a4000_2026-10-30.md +0 -0
  22. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/levers_matrix_table.py +0 -0
  23. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/sweep.py +0 -0
  24. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_01_gauss_bg/he-histo.dat +0 -0
  25. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_01_gauss_bg/nf_input.yaml +0 -0
  26. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_03_4gauss_bg/he-histo.dat +0 -0
  27. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_03_4gauss_bg/nf_input.yaml +0 -0
  28. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_11_LJ17/nf_input.yaml +0 -0
  29. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_12_gpu_crosscheck/README.txt +0 -0
  30. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_12_gpu_crosscheck/nf_input.yaml +0 -0
  31. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/test_12_gpu_crosscheck/out_points.csv +0 -0
  32. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/benchmarks_and_tests/variations_gain.ipynb +0 -0
  33. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/cmake/resman.cmake +0 -0
  34. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/cmake/write_manifest.cmake +0 -0
  35. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/README.md +0 -0
  36. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK/he-histo.dat +0 -0
  37. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK/nf_input.yaml +0 -0
  38. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK_NO_DB/he-histo.dat +0 -0
  39. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK_NO_DB/nf_input.yaml +0 -0
  40. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK_SYN/he-histo.dat +0 -0
  41. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/RANDOM_WALK_SYN/nf_input.yaml +0 -0
  42. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/README.txt +0 -0
  43. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_hard_writing/he-histo.dat +0 -0
  44. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_hard_writing/nf_input.yaml +0 -0
  45. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_input/he-histo.dat +0 -0
  46. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_input/nf_input.yaml +0 -0
  47. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_no_points_file/he-histo.dat +0 -0
  48. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_no_points_file/nf_input.yaml +0 -0
  49. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_no_stat/he-histo.dat +0 -0
  50. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/internal_func_no_stat/nf_input.yaml +0 -0
  51. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/latex_func_input/he-histo.dat +0 -0
  52. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/latex_func_input/nf_input.yaml +0 -0
  53. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/legacy_func_input/he-histo.dat +0 -0
  54. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/01_simple_example/legacy_func_input/nf_input.yaml +0 -0
  55. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/02_error_bars_data/README.txt +0 -0
  56. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/02_error_bars_data/eb_gauss_bg-x0_300-sigma_20-A_20000-p_to_bg_0.05-bin_1.dat +0 -0
  57. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/02_error_bars_data/nf_input.yaml +0 -0
  58. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-RANDOM_WALK_SYN/he-histo.dat +0 -0
  59. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  60. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-SLICE_SAMPLING/he-histo.dat +0 -0
  61. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/DBSCAN-SLICE_SAMPLING/nf_input.yaml +0 -0
  62. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/KNN-RANDOM_WALK_SYN/he-histo.dat +0 -0
  63. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/KNN-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  64. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/KNN-SLICE_SAMPLING/he-histo.dat +0 -0
  65. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/KNN-SLICE_SAMPLING/nf_input.yaml +0 -0
  66. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/README.txt +0 -0
  67. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/agglomerative-RANDOM_WALK_SYN/he-histo.dat +0 -0
  68. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/agglomerative-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  69. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/agglomerative-SLICE_SAMPLING/he-histo.dat +0 -0
  70. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/agglomerative-SLICE_SAMPLING/nf_input.yaml +0 -0
  71. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/mean-shift-RANDOM_WALK_SYN/he-histo.dat +0 -0
  72. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/mean-shift-RANDOM_WALK_SYN/nf_input.yaml +0 -0
  73. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/mean-shift-SLICE_SAMPLING/he-histo.dat +0 -0
  74. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/03_with_cluster_analysis/mean-shift-SLICE_SAMPLING/nf_input.yaml +0 -0
  75. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/latex_func_input/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  76. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/latex_func_input/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  77. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/latex_func_input/nf_input.yaml +0 -0
  78. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  79. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  80. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/04_set_of_datafiles/legacy_func_input/nf_input.yaml +0 -0
  81. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/05_data_2D/README.txt +0 -0
  82. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/05_data_2D/nf_input.yaml +0 -0
  83. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/05_data_2D/test_matrix.dat +0 -0
  84. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/06_interpolation_function/ginterp.csv +0 -0
  85. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/06_interpolation_function/interp.csv +0 -0
  86. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/06_interpolation_function/nf_input.yaml +0 -0
  87. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/data_analysis/06_interpolation_function/pynf_interp.ipynb +0 -0
  88. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/function_integration/07_func_GAUSS/hard_writing/nf_input.yaml +0 -0
  89. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/function_integration/07_func_GAUSS/no_hard_writing/nf_input.yaml +0 -0
  90. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/function_integration/08_func_EGGBOX/nf_input.yaml +0 -0
  91. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/.ipynb_checkpoints/pandas_extended_analysis-checkpoint.ipynb +0 -0
  92. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/.ipynb_checkpoints/simple_analysis_visu-checkpoint.ipynb +0 -0
  93. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/LJ17/nf_input.yaml +0 -0
  94. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/LJ3/nf_input.yaml +0 -0
  95. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/LJ7/nf_input.yaml +0 -0
  96. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/LJ7_norm/nf_input.yaml +0 -0
  97. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/exploring_potentials.ipynb +0 -0
  98. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/pandas_extended_analysis.ipynb +0 -0
  99. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/pynf_interp.ipynb +0 -0
  100. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/quick_start_with_google_colab.ipynb +0 -0
  101. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_1gauss_bg/he-histo.dat +0 -0
  102. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_1gauss_bg/nf_input.yaml +0 -0
  103. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_2gauss_bg/he-histo.dat +0 -0
  104. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_2gauss_bg/nf_input.yaml +0 -0
  105. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/he-histo-checkpoint.dat +0 -0
  106. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/nf_input-checkpoint.dat +0 -0
  107. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_3gauss_bg/.ipynb_checkpoints/nf_input-checkpoint.yaml +0 -0
  108. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_3gauss_bg/he-histo.dat +0 -0
  109. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_3gauss_bg/nf_input.yaml +0 -0
  110. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_4gauss_bg/he-histo.dat +0 -0
  111. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/res_4gauss_bg/nf_input.yaml +0 -0
  112. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/set_of_datafiles/README.txt +0 -0
  113. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/set_of_datafiles/gauss_bg-x0_300-sigma_20-A_300-p_to_bg_20-bin_1.dat +0 -0
  114. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/set_of_datafiles/gauss_bg-x0_310-sigma_20-A_150-p_to_bg_10-bin_1.dat +0 -0
  115. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/set_of_datafiles/nf_input.yaml +0 -0
  116. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/set_of_files_analysis.ipynb +0 -0
  117. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/simple_analysis_visu.ipynb +0 -0
  118. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/jupyter_notebooks/simple_visualisation.ipynb +0 -0
  119. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/native_functions/example.cpp +0 -0
  120. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/native_functions/example.f90 +0 -0
  121. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/09_ENERGY_HARM_3D/hard_writing/nf_energy.txt +0 -0
  122. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/09_ENERGY_HARM_3D/hard_writing/nf_input.yaml +0 -0
  123. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/09_ENERGY_HARM_3D/no_hard_writing/nf_energy.txt +0 -0
  124. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/09_ENERGY_HARM_3D/no_hard_writing/nf_input.yaml +0 -0
  125. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/10_Q_ENERGY_HARM_3D/hard_writing/nf_input.yaml +0 -0
  126. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/examples/potential_exploration/10_Q_ENERGY_HARM_3D/no_hard_writing/nf_input.yaml +0 -0
  127. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/.DS_Store +0 -0
  128. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercices_ICFO/ICFO2024_nested_fit_tutorial.ipynb +0 -0
  129. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercices_ICFO/res_1gauss_bg/he-histo.dat +0 -0
  130. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercices_ICFO/res_1gauss_bg/nf_input.yaml +0 -0
  131. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/exercises_quantitative_xray_spectroscopy.ipynb +0 -0
  132. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/with_U_1000_counts/c_U_1000_counts.dat +0 -0
  133. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/with_U_100s/c_U_100s.dat +0 -0
  134. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/with_U_1s/c_U_1s.dat +0 -0
  135. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/with_U_1s/nf_input.dat +0 -0
  136. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/without_U_100k_counts/s_U_100000_counts.dat +0 -0
  137. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/without_U_1M_counts/nf_input.dat +0 -0
  138. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/exercises_QXRA/without_U_1M_counts/s_U_1000000_counts.dat +0 -0
  139. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise1_piN_sampling/README.txt +0 -0
  140. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise1_piN_sampling/nf_input.dat +0 -0
  141. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise1_piN_sampling/piN-sum.dat +0 -0
  142. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise2_pN_evidence/README.txt +0 -0
  143. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise2_pN_evidence/nf_input.dat +0 -0
  144. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise2_pN_evidence/piN-sum.dat +0 -0
  145. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise2_pN_evidence/results_2000lp.txt +0 -0
  146. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise3_He-like_U_from_scratch/README.txt +0 -0
  147. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise3_He-like_U_from_scratch/he-histo.dat +0 -0
  148. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise4_He-like_U_clusters/README.txt +0 -0
  149. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise4_He-like_U_clusters/he-histo.dat +0 -0
  150. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise4_He-like_U_clusters/nf_input.dat +0 -0
  151. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise5_He-like_U_search_and_clusters_methods/README.txt +0 -0
  152. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/exercises/old_exercices/exercise5_He-like_U_search_and_clusters_methods/he-histo.dat +0 -0
  153. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/install.sh +0 -0
  154. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nested_fit.egg-info/dependency_links.txt +0 -0
  155. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nested_fit.egg-info/entry_points.txt +0 -0
  156. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nested_fit.egg-info/requires.txt +0 -0
  157. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nested_fit.egg-info/top_level.txt +0 -0
  158. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/nf_input.yaml +0 -0
  159. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/__init__.py +0 -0
  160. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/evaluator.py +0 -0
  161. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/metadata.py +0 -0
  162. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/nested_res.py +0 -0
  163. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/utils.py +0 -0
  164. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/__init__.py +0 -0
  165. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/bar.py +0 -0
  166. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/errorui.py +0 -0
  167. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/hfinder.py +0 -0
  168. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/plot.py +0 -0
  169. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/timer.py +0 -0
  170. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/pynested_fit/widgets/var.py +0 -0
  171. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/setup.cfg +0 -0
  172. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/setup.py +0 -0
  173. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/curfit.f +0 -0
  174. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpback.f +0 -0
  175. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpbspl.f +0 -0
  176. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpchec.f +0 -0
  177. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpcurf.f +0 -0
  178. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpdisc.f +0 -0
  179. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpgivs.f +0 -0
  180. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fpknot.f +0 -0
  181. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fprati.f +0 -0
  182. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/fprota.f +0 -0
  183. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/DIERCKX/splev.f +0 -0
  184. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Makefile +0 -0
  185. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_array_tries.f90 +0 -0
  186. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_cluster_analysis.f90 +0 -0
  187. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_covariance_matrix.f90 +0 -0
  188. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_gpu.f90 +0 -0
  189. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_input_parse.f90 +0 -0
  190. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_integrated_func.f90 +0 -0
  191. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_interpolate.f90 +0 -0
  192. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_jsonio.f90 +0 -0
  193. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_likelihood.f90 +0 -0
  194. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_likelihood_gen.f90 +0 -0
  195. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_logger.f90 +0 -0
  196. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_math.f90 +0 -0
  197. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_metadata.f90.in +0 -0
  198. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_options.f90 +0 -0
  199. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_parameters.f90 +0 -0
  200. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_perfprof.f90 +0 -0
  201. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_potentials.f90 +0 -0
  202. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_search_new_point.f90 +0 -0
  203. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_timestamp.f90 +0 -0
  204. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/Mod_userfcn.f90 +0 -0
  205. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/dpsort.f +0 -0
  206. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/fdump.f +0 -0
  207. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/i1mach.f +0 -0
  208. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/j4save.f +0 -0
  209. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xercnt.f +0 -0
  210. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xerhlt.f +0 -0
  211. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xermsg.f +0 -0
  212. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xerprn.f +0 -0
  213. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xersve.f +0 -0
  214. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/SLATEC/xgetua.f +0 -0
  215. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/USERFCN.f +0 -0
  216. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/USERFCN_2D.f90 +0 -0
  217. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/USERFCN_SET.f +0 -0
  218. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/cli/argparse.f90 +0 -0
  219. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/funceval/latex_parser.cpp +0 -0
  220. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/funceval/native_parser.cpp +0 -0
  221. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/functions/WOFZ.f +0 -0
  222. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/functions/internal.tex +0 -0
  223. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/functions/internal_funcs.f90 +0 -0
  224. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/gpu/README.md +0 -0
  225. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/gpu/nf_device_lib.h +0 -0
  226. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/gpu/nf_device_lib_src.h.in +0 -0
  227. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/gpu/nf_gpu.cpp +0 -0
  228. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/gpu/nf_gpu.h +0 -0
  229. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/console.cpp +0 -0
  230. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/halt.f90 +0 -0
  231. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/hash.f90 +0 -0
  232. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/int_stack.f90 +0 -0
  233. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/resman.cpp.in +0 -0
  234. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/rmhex.cpp +0 -0
  235. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/strutil.f90 +0 -0
  236. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/helper/utils.cpp +0 -0
  237. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/init_interpolation.f +0 -0
  238. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/nested_fit.f90 +0 -0
  239. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/nested_sampling.f90 +0 -0
  240. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/rinteg.f +0 -0
  241. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/src/shirley_fitpack.f90 +0 -0
  242. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/test/CMakeLists.txt +0 -0
  243. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/test/README.md +0 -0
  244. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/test/str.f90 +0 -0
  245. {nested_fit-6.0.0.dev137 → nested_fit-6.0.0.dev139}/test/test.f90 +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nested_fit
3
- Version: 6.0.0.dev137
3
+ Version: 6.0.0.dev139
4
4
  Summary: The nested_fit package.
5
5
  Author: Martino Trassinelli, Lune Maillard, César Godinho
6
6
  Project-URL: Homepage, https://github.com/martinit18/nested_fit
@@ -87,6 +87,22 @@ needs; the driver is the only other requirement, no CUDA toolkit. The likelihood
87
87
  the GPU, on at most 8 threads, whenever a startup self-test finds that faster than all the CPU
88
88
  threads together, and on the CPU otherwise, with one log line saying which. Details and controls in `src/gpu/README.md`.
89
89
 
90
+ ### What must be installed on the machine
91
+
92
+ nested_fit compiles your model at run time, so two compilers are needed on every machine it runs
93
+ on, with the pip wheel as much as with a source build; without them a run stops before sampling.
94
+
95
+ | system | compilers | GPU (optional) |
96
+ |---|---|---|
97
+ | Ubuntu, Debian | `sudo apt install gfortran g++` | NVIDIA driver, then `pip install "nested_fit[cuda]"` |
98
+ | Fedora, RHEL, Rocky | `sudo dnf install gcc-gfortran gcc-c++` | same |
99
+ | macOS | `brew install gcc` (gfortran) and `xcode-select --install` (clang++) | no GPU support on macOS |
100
+ | conda environments | `conda install -c conda-forge gfortran cxx-compiler` | as above |
101
+
102
+ The Linux wheel needs glibc 2.28 or newer (Ubuntu 20.04, Debian 10, RHEL 8 and later); older
103
+ systems build from source, see below. On an AMD GPU the ROCm runtime with hipRTC plays the role of
104
+ the driver and the `[cuda]` extra; that path is written and has not been run yet.
105
+
90
106
  The `examples/` directory is bundled with the package. After installation you can
91
107
  copy it to a local working area in a couple of ways:
92
108
 
@@ -1,30 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: nested_fit
3
- Version: 6.0.0.dev137
4
- Summary: The nested_fit package.
5
- Author: Martino Trassinelli, Lune Maillard, César Godinho
6
- Project-URL: Homepage, https://github.com/martinit18/nested_fit
7
- Project-URL: Bug Tracker, https://github.com/martinit18/nested_fit/issues
8
- Classifier: Programming Language :: Fortran
9
- Classifier: Programming Language :: C++
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Operating System :: OS Independent
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: pandas
15
- Requires-Dist: numpy
16
- Requires-Dist: matplotlib
17
- Requires-Dist: scipy
18
- Requires-Dist: getdist
19
- Requires-Dist: rich
20
- Requires-Dist: plotly
21
- Requires-Dist: psutil
22
- Requires-Dist: anesthetic
23
- Requires-Dist: plotext
24
- Provides-Extra: cuda
25
- Requires-Dist: nvidia-cuda-nvrtc-cu12; extra == "cuda"
26
- Dynamic: license-file
27
-
28
1
  # NESTED FIT
29
2
 
30
3
  Nested_fit is a data analysis program based on the Bayesian statistics for the computation of, for a given set of data and chosen model, the complete probability distribution for each parameter and the Bayesian evidence.
@@ -87,6 +60,22 @@ needs; the driver is the only other requirement, no CUDA toolkit. The likelihood
87
60
  the GPU, on at most 8 threads, whenever a startup self-test finds that faster than all the CPU
88
61
  threads together, and on the CPU otherwise, with one log line saying which. Details and controls in `src/gpu/README.md`.
89
62
 
63
+ ### What must be installed on the machine
64
+
65
+ nested_fit compiles your model at run time, so two compilers are needed on every machine it runs
66
+ on, with the pip wheel as much as with a source build; without them a run stops before sampling.
67
+
68
+ | system | compilers | GPU (optional) |
69
+ |---|---|---|
70
+ | Ubuntu, Debian | `sudo apt install gfortran g++` | NVIDIA driver, then `pip install "nested_fit[cuda]"` |
71
+ | Fedora, RHEL, Rocky | `sudo dnf install gcc-gfortran gcc-c++` | same |
72
+ | macOS | `brew install gcc` (gfortran) and `xcode-select --install` (clang++) | no GPU support on macOS |
73
+ | conda environments | `conda install -c conda-forge gfortran cxx-compiler` | as above |
74
+
75
+ The Linux wheel needs glibc 2.28 or newer (Ubuntu 20.04, Debian 10, RHEL 8 and later); older
76
+ systems build from source, see below. On an AMD GPU the ROCm runtime with hipRTC plays the role of
77
+ the driver and the `[cuda]` extra; that path is written and has not been run yet.
78
+
90
79
  The `examples/` directory is bundled with the package. After installation you can
91
80
  copy it to a local working area in a couple of ways:
92
81
 
@@ -1,3 +1,30 @@
1
+ Metadata-Version: 2.4
2
+ Name: nested_fit
3
+ Version: 6.0.0.dev139
4
+ Summary: The nested_fit package.
5
+ Author: Martino Trassinelli, Lune Maillard, César Godinho
6
+ Project-URL: Homepage, https://github.com/martinit18/nested_fit
7
+ Project-URL: Bug Tracker, https://github.com/martinit18/nested_fit/issues
8
+ Classifier: Programming Language :: Fortran
9
+ Classifier: Programming Language :: C++
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Operating System :: OS Independent
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: pandas
15
+ Requires-Dist: numpy
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: scipy
18
+ Requires-Dist: getdist
19
+ Requires-Dist: rich
20
+ Requires-Dist: plotly
21
+ Requires-Dist: psutil
22
+ Requires-Dist: anesthetic
23
+ Requires-Dist: plotext
24
+ Provides-Extra: cuda
25
+ Requires-Dist: nvidia-cuda-nvrtc-cu12; extra == "cuda"
26
+ Dynamic: license-file
27
+
1
28
  # NESTED FIT
2
29
 
3
30
  Nested_fit is a data analysis program based on the Bayesian statistics for the computation of, for a given set of data and chosen model, the complete probability distribution for each parameter and the Bayesian evidence.
@@ -60,6 +87,22 @@ needs; the driver is the only other requirement, no CUDA toolkit. The likelihood
60
87
  the GPU, on at most 8 threads, whenever a startup self-test finds that faster than all the CPU
61
88
  threads together, and on the CPU otherwise, with one log line saying which. Details and controls in `src/gpu/README.md`.
62
89
 
90
+ ### What must be installed on the machine
91
+
92
+ nested_fit compiles your model at run time, so two compilers are needed on every machine it runs
93
+ on, with the pip wheel as much as with a source build; without them a run stops before sampling.
94
+
95
+ | system | compilers | GPU (optional) |
96
+ |---|---|---|
97
+ | Ubuntu, Debian | `sudo apt install gfortran g++` | NVIDIA driver, then `pip install "nested_fit[cuda]"` |
98
+ | Fedora, RHEL, Rocky | `sudo dnf install gcc-gfortran gcc-c++` | same |
99
+ | macOS | `brew install gcc` (gfortran) and `xcode-select --install` (clang++) | no GPU support on macOS |
100
+ | conda environments | `conda install -c conda-forge gfortran cxx-compiler` | as above |
101
+
102
+ The Linux wheel needs glibc 2.28 or newer (Ubuntu 20.04, Debian 10, RHEL 8 and later); older
103
+ systems build from source, see below. On an AMD GPU the ROCm runtime with hipRTC plays the role of
104
+ the driver and the `[cuda]` extra; that path is written and has not been run yet.
105
+
63
106
  The `examples/` directory is bundled with the package. After installation you can
64
107
  copy it to a local working area in a couple of ways:
65
108
 
@@ -154,6 +154,7 @@ nested_fit.egg-info/requires.txt
154
154
  nested_fit.egg-info/top_level.txt
155
155
  pynested_fit/__init__.py
156
156
  pynested_fit/cliw.py
157
+ pynested_fit/compilers.py
157
158
  pynested_fit/evaluator.py
158
159
  pynested_fit/metadata.py
159
160
  pynested_fit/nested_res.py
@@ -6,7 +6,9 @@ import os
6
6
  import sys
7
7
  import subprocess
8
8
  from .metadata import __version__
9
+ from .compilers import require_compilers
9
10
 
10
11
  def main():
12
+ require_compilers(sys.argv[1:])
11
13
  exe = os.path.join(os.path.dirname(__file__), f'nested_fit{__version__}')
12
14
  sys.exit(subprocess.call([exe] + sys.argv[1:]))
@@ -0,0 +1,21 @@
1
+ # nested_fit compiles the model at run time, so gfortran and g++ must be on the PATH of the machine
2
+ # running it, with the pip wheel as with a source build. Checked before the binary starts; the binary
3
+ # repeats the check at the compile itself, for those who run it without Python.
4
+ import shutil
5
+ import sys
6
+
7
+ MESSAGE = ("`{}` was not found. nested_fit compiles your model at run time and needs gfortran and g++ installed.\n"
8
+ "Ubuntu/Debian: sudo apt install gfortran g++ ; Fedora/RHEL: sudo dnf install gcc-gfortran gcc-c++ ; macOS: brew install gcc\n"
9
+ 'See "What must be installed on the machine" in README.md.')
10
+ # command lines that name their own tools, or compile nothing
11
+ SKIP = {'--compile-cpp', '-cc', '--compile-f90', '-cf', '--cache-link', '-cl',
12
+ '--cache-location', '--function-list', '-fl', '--help', '-h'}
13
+
14
+
15
+ def require_compilers(argv=()):
16
+ if SKIP & set(argv):
17
+ return
18
+ for tool in ('gfortran', 'g++'):
19
+ if shutil.which(tool) is None:
20
+ print(MESSAGE.format(tool), file=sys.stderr)
21
+ sys.exit(2)
@@ -12,6 +12,7 @@ from rich.table import Table as RTable
12
12
  from rich import box as rbox
13
13
  import importlib.util
14
14
  import os
15
+ from .compilers import require_compilers
15
16
 
16
17
 
17
18
  def _backend_env():
@@ -597,6 +598,7 @@ class Configurator():
597
598
  - output_mode='full': full output with graphs (not working on mac yet)
598
599
  '''
599
600
  nf_bin = self._get_nf_realpath()
601
+ require_compilers()
600
602
 
601
603
  self._write_yaml_file(path)
602
604
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "nested_fit"
7
- version = "6.0.0.dev137"
7
+ version = "6.0.0.dev139"
8
8
  description = "The nested_fit package."
9
9
  readme = "README.md"
10
10
 
@@ -74,7 +74,7 @@ environment = "CFLAGS='-static-libgcc -static-libstdc++' CXXFLAGS='-static-libgc
74
74
  repair-wheel-command = "auditwheel repair --exclude libgomp.so.1 -w {dest_dir} {wheel}"
75
75
 
76
76
  [tool.setuptools_scm]
77
- fallback_version = "6.0.0.dev137"
77
+ fallback_version = "6.0.0.dev139"
78
78
 
79
79
  [options]
80
80
  python_requires = ">=3.8"
@@ -624,6 +624,22 @@ MODULE MOD_AUTOFUNC
624
624
  IF(ANY([ CHARACTER(8) :: 'cpp', 'cxx', 'c++', 'inl' ].EQ.ext)) HAS_VALID_CPP_EXT = .TRUE.
625
625
  END FUNCTION
626
626
 
627
+ SUBROUTINE TOOL_NOT_FOUND(cmd)
628
+ ! The shell could not run the compiler or linker of a run-time compile command: say which
629
+ ! program is missing and how to install it, instead of the runtime's "Invalid command line"
630
+ ! error and its backtrace.
631
+ CHARACTER(LEN=*), INTENT(IN) :: cmd
632
+ INTEGER :: i
633
+ i = INDEX(cmd, ' ')
634
+ IF(i.EQ.0) i = LEN_TRIM(cmd) + 1
635
+ CALL LOG_ERROR_HEADER()
636
+ CALL LOG_ERROR('`'//cmd(1:i-1)//'` was not found. nested_fit compiles your model at run time and needs gfortran and g++ installed.')
637
+ CALL LOG_ERROR('Ubuntu/Debian: sudo apt install gfortran g++ ; Fedora/RHEL: sudo dnf install gcc-gfortran gcc-c++ ; macOS: brew install gcc')
638
+ CALL LOG_ERROR('See "What must be installed on the machine" in README.md. Aborting Execution...')
639
+ CALL LOG_ERROR_HEADER()
640
+ STOP 2 ! a non-zero exit code, as the runtime error gave before, for the scripts that call nested_fit
641
+ END SUBROUTINE
642
+
627
643
  SUBROUTINE COMPILE_CACHE_FUNC_NATIVE(filename, write_metadata)
628
644
  CHARACTER(LEN=*), INTENT(IN) :: filename
629
645
  LOGICAL, OPTIONAL , INTENT(IN) :: write_metadata
@@ -635,7 +651,7 @@ MODULE MOD_AUTOFUNC
635
651
  CHARACTER(128) :: ext_help_text
636
652
  CHARACTER(64) :: compiler_spec
637
653
  CHARACTER(512) :: output
638
- INTEGER :: status
654
+ INTEGER :: status, cstat
639
655
  LOGICAL :: write_meta_ = .TRUE.
640
656
 
641
657
  CHARACTER(c_char), DIMENSION(:), POINTER :: c_input_lang
@@ -687,7 +703,8 @@ MODULE MOD_AUTOFUNC
687
703
 
688
704
  CALL LOG_TRACE('Compiling native function `'//TRIM(parsed_data%function_name)//'` from file `'//TRIM(filename)//'`.')
689
705
 
690
- CALL EXECUTE_COMMAND_LINE(TRIM(compiler_spec)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(parsed_data%function_name)//'.o', EXITSTAT=status)
706
+ CALL EXECUTE_COMMAND_LINE(TRIM(compiler_spec)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(parsed_data%function_name)//'.o', EXITSTAT=status, CMDSTAT=cstat)
707
+ IF(cstat.NE.0 .OR. status.EQ.127) CALL TOOL_NOT_FOUND(TRIM(compiler_spec))
691
708
  IF(status.NE.0) THEN
692
709
  CALL LOG_ERROR_HEADER()
693
710
  CALL LOG_ERROR('Failed to compile the function provided.')
@@ -726,7 +743,7 @@ MODULE MOD_AUTOFUNC
726
743
  CHARACTER(LEN=512), INTENT(IN) :: original_data
727
744
  LOGICAL, OPTIONAL , INTENT(IN) :: write_metadata
728
745
  CHARACTER(LEN=128) :: filename
729
- INTEGER :: status
746
+ INTEGER :: status, cstat
730
747
  CHARACTER(128) :: funcname, funcname_lowercase
731
748
  INTEGER :: argc
732
749
  CHARACTER(512) :: expression
@@ -789,7 +806,8 @@ MODULE MOD_AUTOFUNC
789
806
  WRITE(77,'(a)') 'end function '//TRIM(funcname)
790
807
  CLOSE(77)
791
808
 
792
- CALL EXECUTE_COMMAND_LINE(TRIM(opt_f90_comp_cmd)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(funcname)//TRIM(obj_ext), EXITSTAT=status)
809
+ CALL EXECUTE_COMMAND_LINE(TRIM(opt_f90_comp_cmd)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(funcname)//TRIM(obj_ext), EXITSTAT=status, CMDSTAT=cstat)
810
+ IF(cstat.NE.0 .OR. status.EQ.127) CALL TOOL_NOT_FOUND(TRIM(opt_f90_comp_cmd))
793
811
  IF(status.NE.0) THEN
794
812
  CALL LOG_ERROR_HEADER()
795
813
  CALL LOG_ERROR('Failed to compile the function provided.')
@@ -850,7 +868,7 @@ MODULE MOD_AUTOFUNC
850
868
  INTEGER, INTENT(IN) :: mfg_nparams
851
869
 
852
870
  CHARACTER(128) :: filename
853
- INTEGER :: status
871
+ INTEGER :: status, cstat
854
872
  CHARACTER(128) :: mfg_lowercase
855
873
  INTEGER :: argc
856
874
  CHARACTER(512) :: expression
@@ -902,7 +920,8 @@ MODULE MOD_AUTOFUNC
902
920
  WRITE(77,'(a)') 'end function '//TRIM(mfg_name)
903
921
  CLOSE(77)
904
922
 
905
- CALL EXECUTE_COMMAND_LINE(TRIM(opt_f90_comp_cmd)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(mfg_name)//TRIM(obj_ext), EXITSTAT=status)
923
+ CALL EXECUTE_COMMAND_LINE(TRIM(opt_f90_comp_cmd)//' '//TRIM(filename)//' -o '//TRIM(nf_cache_folder)//'user/'//TRIM(mfg_name)//TRIM(obj_ext), EXITSTAT=status, CMDSTAT=cstat)
924
+ IF(cstat.NE.0 .OR. status.EQ.127) CALL TOOL_NOT_FOUND(TRIM(opt_f90_comp_cmd))
906
925
  IF(status.NE.0) THEN
907
926
  CALL LOG_ERROR_HEADER()
908
927
  CALL LOG_ERROR('Failed to compile the function provided.')
@@ -918,9 +937,10 @@ MODULE MOD_AUTOFUNC
918
937
  END SUBROUTINE
919
938
 
920
939
  SUBROUTINE RECOMPILE_CACHE()
921
- INTEGER :: status
940
+ INTEGER :: status, cstat
922
941
 
923
- CALL EXECUTE_COMMAND_LINE(TRIM(opt_lnk_cmd)//' '//TRIM(nf_cache_folder)//'*/*'//TRIM(obj_ext)//' -o '//TRIM(dll_name), EXITSTAT=status)
942
+ CALL EXECUTE_COMMAND_LINE(TRIM(opt_lnk_cmd)//' '//TRIM(nf_cache_folder)//'*/*'//TRIM(obj_ext)//' -o '//TRIM(dll_name), EXITSTAT=status, CMDSTAT=cstat)
943
+ IF(cstat.NE.0 .OR. status.EQ.127) CALL TOOL_NOT_FOUND(TRIM(opt_lnk_cmd))
924
944
  IF(status.NE.0) THEN
925
945
  CALL LOG_ERROR_HEADER()
926
946
  CALL LOG_ERROR('Failed to link the function provided.')