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_amplitude_one;
59    #[pymodule_export]
60    use laddu_python::amplitudes::py_amplitude_product;
61    #[pymodule_export]
62    use laddu_python::amplitudes::py_amplitude_sum;
63    #[pymodule_export]
64    use laddu_python::amplitudes::py_amplitude_zero;
65    #[pymodule_export]
66    use laddu_python::amplitudes::py_constant;
67    #[pymodule_export]
68    use laddu_python::amplitudes::py_parameter;
69    #[pymodule_export]
70    use laddu_python::amplitudes::PyAmplitude;
71    #[pymodule_export]
72    use laddu_python::amplitudes::PyAmplitudeID;
73    #[pymodule_export]
74    use laddu_python::amplitudes::PyEvaluator;
75    #[pymodule_export]
76    use laddu_python::amplitudes::PyExpression;
77    #[pymodule_export]
78    use laddu_python::amplitudes::PyManager;
79    #[pymodule_export]
80    use laddu_python::amplitudes::PyModel;
81    #[pymodule_export]
82    use laddu_python::amplitudes::PyParameterLike;
83
84    #[pymodule_export]
85    use laddu_amplitudes::common::py_complex_scalar;
86    #[pymodule_export]
87    use laddu_amplitudes::common::py_polar_complex_scalar;
88    #[pymodule_export]
89    use laddu_amplitudes::common::py_scalar;
90
91    #[pymodule_export]
92    use laddu_amplitudes::piecewise::py_piecewise_complex_scalar;
93    #[pymodule_export]
94    use laddu_amplitudes::piecewise::py_piecewise_polar_complex_scalar;
95    #[pymodule_export]
96    use laddu_amplitudes::piecewise::py_piecewise_scalar;
97
98    #[pymodule_export]
99    use laddu_amplitudes::breit_wigner::py_breit_wigner;
100
101    #[pymodule_export]
102    use laddu_amplitudes::ylm::py_ylm;
103
104    #[pymodule_export]
105    use laddu_amplitudes::zlm::py_zlm;
106
107    #[pymodule_export]
108    use laddu_amplitudes::phase_space::py_phase_space_factor;
109
110    #[pymodule_export]
111    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_a0;
112    #[pymodule_export]
113    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_a2;
114    #[pymodule_export]
115    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f0;
116    #[pymodule_export]
117    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f2;
118    #[pymodule_export]
119    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_pi1;
120    #[pymodule_export]
121    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_rho;
122
123    #[pymodule_export]
124    use laddu_extensions::likelihoods::py_likelihood_one;
125    #[pymodule_export]
126    use laddu_extensions::likelihoods::py_likelihood_product;
127    #[pymodule_export]
128    use laddu_extensions::likelihoods::py_likelihood_scalar;
129    #[pymodule_export]
130    use laddu_extensions::likelihoods::py_likelihood_sum;
131    #[pymodule_export]
132    use laddu_extensions::likelihoods::py_likelihood_zero;
133    #[pymodule_export]
134    use laddu_extensions::likelihoods::PyLikelihoodEvaluator;
135    #[pymodule_export]
136    use laddu_extensions::likelihoods::PyLikelihoodExpression;
137    #[pymodule_export]
138    use laddu_extensions::likelihoods::PyLikelihoodID;
139    #[pymodule_export]
140    use laddu_extensions::likelihoods::PyLikelihoodManager;
141    #[pymodule_export]
142    use laddu_extensions::likelihoods::PyLikelihoodTerm;
143    #[pymodule_export]
144    use laddu_extensions::likelihoods::PyNLL;
145
146    #[pymodule_export]
147    use laddu_extensions::ganesh_ext::py_ganesh::py_integrated_autocorrelation_times;
148    #[pymodule_export]
149    use laddu_extensions::ganesh_ext::py_ganesh::PyAutocorrelationObserver;
150    #[pymodule_export]
151    use laddu_extensions::ganesh_ext::py_ganesh::PyBound;
152    #[pymodule_export]
153    use laddu_extensions::ganesh_ext::py_ganesh::PyEnsemble;
154    #[pymodule_export]
155    use laddu_extensions::ganesh_ext::py_ganesh::PyMCMCObserver;
156    #[pymodule_export]
157    use laddu_extensions::ganesh_ext::py_ganesh::PyObserver;
158    #[pymodule_export]
159    use laddu_extensions::ganesh_ext::py_ganesh::PyStatus;
160
161    #[pymodule_export]
162    use laddu_extensions::experimental::py_binned_guide_term;
163    #[pymodule_export]
164    use laddu_extensions::experimental::py_regularizer;
165}