1#![warn(missing_docs)]
3
4mod bitwidth;
5mod function;
6mod perm;
7mod quantum;
8mod radices;
9mod radix;
10mod scalar;
11mod system;
12mod utils;
13
14pub mod accel;
15pub mod array;
16pub mod memory;
17
18pub use bitwidth::BitWidthConvertible;
19pub use function::HasBounds;
20pub use function::HasParams;
21pub use function::HasPeriods;
22pub use function::ParamIndices;
23pub use function::ParamInfo;
24pub use perm::QuditPermutation;
25pub use perm::calc_index_permutation;
26pub use quantum::Ket;
27pub use quantum::UnitaryMatrix;
28pub use radices::Radices;
29pub use radix::Radix;
30pub use scalar::ComplexScalar;
31pub use scalar::RealScalar;
32pub use system::ClassicalSystem;
33pub use system::HybridSystem;
34pub use system::QuditSystem;
35pub use utils::CompactStorage;
36pub use utils::CompactVec;
37pub use utils::LimitedSizeVec;
38
39pub use faer::c32;
43pub use faer::c64;
44pub use faer::cx128 as c128;
45#[cfg(feature = "python")]
51use pyo3::prelude::{Bound, PyModule, PyResult};
52
53#[cfg(feature = "python")]
55pub struct PyRegistrar {
56 pub func: fn(parent_module: &Bound<'_, PyModule>) -> PyResult<()>,
58}
59
60#[cfg(feature = "python")]
61inventory::collect!(PyRegistrar);
62