laddu/
lib.rs

1use pyo3::prelude::*;
2
3#[pymodule]
4mod laddu {
5    use super::*;
6    #[pyfunction]
7    fn version() -> String {
8        env!("CARGO_PKG_VERSION").to_string()
9    }
10
11    #[pymodule_export]
12    use laddu_python::mpi::finalize_mpi;
13    #[pymodule_export]
14    use laddu_python::mpi::get_rank;
15    #[pymodule_export]
16    use laddu_python::mpi::get_size;
17    #[pymodule_export]
18    use laddu_python::mpi::is_mpi_available;
19    #[pymodule_export]
20    use laddu_python::mpi::is_root;
21    #[pymodule_export]
22    use laddu_python::mpi::use_mpi;
23    #[pymodule_export]
24    use laddu_python::mpi::using_mpi;
25
26    #[pymodule_export]
27    use laddu_python::utils::vectors::PyVector3;
28    #[pymodule_export]
29    use laddu_python::utils::vectors::PyVector4;
30
31    #[pymodule_export]
32    use laddu_python::utils::variables::PyAngles;
33    #[pymodule_export]
34    use laddu_python::utils::variables::PyCosTheta;
35    #[pymodule_export]
36    use laddu_python::utils::variables::PyMandelstam;
37    #[pymodule_export]
38    use laddu_python::utils::variables::PyMass;
39    #[pymodule_export]
40    use laddu_python::utils::variables::PyPhi;
41    #[pymodule_export]
42    use laddu_python::utils::variables::PyPolAngle;
43    #[pymodule_export]
44    use laddu_python::utils::variables::PyPolMagnitude;
45    #[pymodule_export]
46    use laddu_python::utils::variables::PyPolarization;
47
48    #[pymodule_export]
49    use laddu_python::data::py_open;
50    #[pymodule_export]
51    use laddu_python::data::PyBinnedDataset;
52    #[pymodule_export]
53    use laddu_python::data::PyDataset;
54    #[pymodule_export]
55    use laddu_python::data::PyEvent;
56
57    #[pymodule_export]
58    use laddu_python::amplitudes::py_constant;
59    #[pymodule_export]
60    use laddu_python::amplitudes::py_parameter;
61    #[pymodule_export]
62    use laddu_python::amplitudes::PyAmplitude;
63    #[pymodule_export]
64    use laddu_python::amplitudes::PyAmplitudeID;
65    #[pymodule_export]
66    use laddu_python::amplitudes::PyEvaluator;
67    #[pymodule_export]
68    use laddu_python::amplitudes::PyExpression;
69    #[pymodule_export]
70    use laddu_python::amplitudes::PyManager;
71    #[pymodule_export]
72    use laddu_python::amplitudes::PyModel;
73    #[pymodule_export]
74    use laddu_python::amplitudes::PyParameterLike;
75
76    #[pymodule_export]
77    use laddu_amplitudes::common::py_complex_scalar;
78    #[pymodule_export]
79    use laddu_amplitudes::common::py_polar_complex_scalar;
80    #[pymodule_export]
81    use laddu_amplitudes::common::py_scalar;
82
83    #[pymodule_export]
84    use laddu_amplitudes::piecewise::py_piecewise_complex_scalar;
85    #[pymodule_export]
86    use laddu_amplitudes::piecewise::py_piecewise_polar_complex_scalar;
87    #[pymodule_export]
88    use laddu_amplitudes::piecewise::py_piecewise_scalar;
89
90    #[pymodule_export]
91    use laddu_amplitudes::breit_wigner::py_breit_wigner;
92
93    #[pymodule_export]
94    use laddu_amplitudes::ylm::py_ylm;
95
96    #[pymodule_export]
97    use laddu_amplitudes::zlm::py_zlm;
98
99    #[pymodule_export]
100    use laddu_amplitudes::phase_space::py_phase_space_factor;
101
102    #[pymodule_export]
103    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_a0;
104    #[pymodule_export]
105    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_a2;
106    #[pymodule_export]
107    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f0;
108    #[pymodule_export]
109    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f2;
110    #[pymodule_export]
111    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_pi1;
112    #[pymodule_export]
113    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_rho;
114
115    #[pymodule_export]
116    use laddu_extensions::likelihoods::py_likelihood_scalar;
117    #[pymodule_export]
118    use laddu_extensions::likelihoods::PyLikelihoodEvaluator;
119    #[pymodule_export]
120    use laddu_extensions::likelihoods::PyLikelihoodExpression;
121    #[pymodule_export]
122    use laddu_extensions::likelihoods::PyLikelihoodID;
123    #[pymodule_export]
124    use laddu_extensions::likelihoods::PyLikelihoodManager;
125    #[pymodule_export]
126    use laddu_extensions::likelihoods::PyLikelihoodTerm;
127    #[pymodule_export]
128    use laddu_extensions::likelihoods::PyNLL;
129
130    #[pymodule_export]
131    use laddu_extensions::ganesh_ext::py_ganesh::py_integrated_autocorrelation_times;
132    #[pymodule_export]
133    use laddu_extensions::ganesh_ext::py_ganesh::PyAutocorrelationObserver;
134    #[pymodule_export]
135    use laddu_extensions::ganesh_ext::py_ganesh::PyBound;
136    #[pymodule_export]
137    use laddu_extensions::ganesh_ext::py_ganesh::PyEnsemble;
138    #[pymodule_export]
139    use laddu_extensions::ganesh_ext::py_ganesh::PyMCMCObserver;
140    #[pymodule_export]
141    use laddu_extensions::ganesh_ext::py_ganesh::PyObserver;
142    #[pymodule_export]
143    use laddu_extensions::ganesh_ext::py_ganesh::PyStatus;
144
145    #[pymodule_export]
146    use laddu_extensions::experimental::py_binned_guide_term;
147}