sdecay_sys/
lib.rs

1#![doc = include_str!("README.md")]
2#![cfg_attr(not(test), no_std)]
3#![cfg_attr(docsrs, feature(doc_auto_cfg))]
4
5mod ffi {
6    #![expect(
7        unused,
8        missing_docs,
9        missing_debug_implementations,
10        unsafe_op_in_unsafe_fn,
11        unnameable_types,
12        unreachable_pub,
13        clippy::pub_underscore_fields,
14        clippy::unreadable_literal,
15        clippy::missing_safety_doc,
16        clippy::semicolon_if_nothing_returned
17    )]
18    include!("bindings.rs");
19}
20
21#[doc = include_str!("BUILDING.md")]
22pub mod building {}
23
24/// Raw bindings to `SandiaDecay` items
25pub mod sandia_decay {
26    pub use crate::ffi::root::SandiaDecay::NuclideMixture_HowToOrder as HowToOrder;
27    pub use crate::ffi::root::SandiaDecay::*;
28}
29
30/// Helper functions used in the safe wrapper exposing tricky C++ semantics
31pub mod sdecay {
32    pub use crate::ffi::root::sdecay::*;
33    pub use crate::ffi::root::std::string;
34}
35
36/// Provided databases as included byte blobs
37pub mod database {
38    /// Default database provided by `SandiaDecay`
39    ///
40    /// Size: about 30MiB
41    #[cfg(feature = "database")]
42    pub const DATABASE: &[u8] = sandia_decay_database::FILE;
43
44    /// `min` database provided by `SandiaDecay`
45    ///
46    /// Size: about 16MiB
47    #[cfg(feature = "database-min")]
48    pub const DATABASE_MIN: &[u8] = sandia_decay_database_min::FILE;
49
50    /// `nocoinc-min` database provided by `SandiaDecay`
51    ///
52    /// Size: about 6MiB
53    #[cfg(feature = "database-nocoinc-min")]
54    pub const DATABASE_NOCOINC_MIN: &[u8] = sandia_decay_database_nocoinc_min::FILE;
55}
56
57#[cfg(test)]
58mod tests;