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::kmatrix::py_kopf_kmatrix_a0;
101    #[pymodule_export]
102    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_a2;
103    #[pymodule_export]
104    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f0;
105    #[pymodule_export]
106    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_f2;
107    #[pymodule_export]
108    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_pi1;
109    #[pymodule_export]
110    use laddu_amplitudes::kmatrix::py_kopf_kmatrix_rho;
111
112    #[pymodule_export]
113    use laddu_extensions::likelihoods::py_likelihood_scalar;
114    #[pymodule_export]
115    use laddu_extensions::likelihoods::PyLikelihoodEvaluator;
116    #[pymodule_export]
117    use laddu_extensions::likelihoods::PyLikelihoodExpression;
118    #[pymodule_export]
119    use laddu_extensions::likelihoods::PyLikelihoodID;
120    #[pymodule_export]
121    use laddu_extensions::likelihoods::PyLikelihoodManager;
122    #[pymodule_export]
123    use laddu_extensions::likelihoods::PyLikelihoodTerm;
124    #[pymodule_export]
125    use laddu_extensions::likelihoods::PyNLL;
126
127    #[pymodule_export]
128    use laddu_extensions::ganesh_ext::py_ganesh::py_integrated_autocorrelation_times;
129    #[pymodule_export]
130    use laddu_extensions::ganesh_ext::py_ganesh::PyAutocorrelationObserver;
131    #[pymodule_export]
132    use laddu_extensions::ganesh_ext::py_ganesh::PyBound;
133    #[pymodule_export]
134    use laddu_extensions::ganesh_ext::py_ganesh::PyEnsemble;
135    #[pymodule_export]
136    use laddu_extensions::ganesh_ext::py_ganesh::PyMCMCObserver;
137    #[pymodule_export]
138    use laddu_extensions::ganesh_ext::py_ganesh::PyObserver;
139    #[pymodule_export]
140    use laddu_extensions::ganesh_ext::py_ganesh::PyStatus;
141
142    #[pymodule_export]
143    use laddu_extensions::experimental::py_binned_guide_term;
144}