Skip to main content

phasesmith_core/
lib.rs

1//! Numerical kernels for powder diffraction profile calculation.
2//!
3//! This crate is deliberately unaware of refinement projects, phases, files,
4//! and GSAS-II data structures. It operates on explicit parameters and flat
5//! numeric slices.
6
7pub mod background;
8pub mod cw;
9pub mod cw_components;
10pub mod cw_contributions;
11pub mod cw_fcj;
12pub mod fcj;
13pub mod profile;
14pub mod radiation;
15pub mod tch;
16pub mod tof;
17
18pub use background::{BackgroundError, smooth_bruckner};
19pub use cw::{
20    ConstantWavelengthInstrument, CwBatchError, CwError, CwProfileParameters,
21    CwReflectionBatchView, accumulate_cw_batch,
22};
23pub use cw_components::{
24    CwComponentsBatchError, accumulate_cw_components_batch, accumulate_cw_fcj_components_batch,
25};
26pub use cw_contributions::{
27    CwContributionArrays, CwContributionsError, CwContributionsView, OwnedCwContributionArrays,
28    OwnedCwContributions, accumulate_cw_contributions_batch,
29    accumulate_cw_contributions_batch_with_context, accumulate_cw_fcj_contributions_batch,
30    accumulate_cw_fcj_contributions_batch_with_context,
31};
32pub use cw_fcj::{CwFcjBatchError, accumulate_cw_fcj_batch};
33pub use fcj::{FcjError, FcjGeometry, FcjProfile, FcjProfilePoint};
34
35pub use profile::{
36    Accumulation, DenseJacobian, GridView, PatternDerivatives, Peak, PeakBatchView, ProfileError,
37    ProfilePoint, SupportJacobian, SupportPolicy, SupportRange, accumulate_batch, accumulate_peaks,
38    accumulate_values_batch, symmetric_pseudo_voigt,
39};
40pub use radiation::{WavelengthComponentsError, WavelengthComponentsView};
41pub use tch::{
42    TchError, TchPeakBatchView, TchProfilePoint, TchShape, TchWidths, accumulate_tch_batch,
43    tch_pseudo_voigt,
44};
45pub use tof::{
46    TOF_GLOBAL_PARAMETER_COUNT, TofError, TofInstrument, TofProfile, TofProfileParameters,
47    TofProfilePoint, accumulate_tof_batch, accumulate_tof_batch_with_context,
48};