include!("smooth/prelude.rs");
mod coefficient_transforms;
mod error;
pub mod input_standardization;
pub mod shape_constraints;
pub mod penalty_priors;
pub use penalty_priors::{
CoefficientGroupSpec, CoefficientSelector, PenaltyBlockGammaPriorMetadata,
RealizedCoefficientGroups,
};
include!("smooth/term_specs.rs");
include!("smooth/measure_jet_psi.rs");
mod spatial_length_scale_window;
pub use spatial_length_scale_window::{
project_spatial_length_scale_into_window, project_spatial_length_scales_in_spec,
spatial_term_seed_psi,
};
#[cfg(test)]
mod spatial_length_scale_projection_2726_tests;
mod scale_contract;
pub use scale_contract::{
BasisCoordinateScaleAction, BasisDerivativeScaleLaw, BasisDesignScaleLaw,
BasisNullGeometryScaleLaw, BasisPenaltyScaleLaw, BasisScaleContract, BasisScaleFamily,
DimensionfulBasisParameter, DimensionfulParameterScale,
};
pub mod structure_analysis;
use self::structure_analysis::smooth_has_frozen_identifiability;
pub use self::structure_analysis::{
SmoothStructureAnalysis, analyze_smooth_ownership, smooth_term_feature_cols,
};
mod structure_warnings;
pub use self::structure_warnings::collect_smooth_structure_warnings;
mod term_design;
pub use term_design::{
CollectionGaugedTerm, LocalTermRealization, RealizedCollectionGauge,
TermCollectionDerivativeDesign,
apply_smooth_transform_to_design,
build_term_collection_derivative_design, build_term_collection_design,
build_term_collection_design_inner, build_term_collection_design_with_policy,
orthogonality_relative_residual_for_design, place_term_in_collection_gauge,
realize_smooth_collection_gauge, smooth_intrinsic_parametric_feature_cols,
term_collection_has_anchored_bspline, term_collection_has_nonzero_anchor,
};
mod design_freezing;
pub use design_freezing::freeze_term_collection_from_design;
#[cfg(test)]
mod tests;
#[cfg(test)]
mod constant_curvature_kappa_box_tests;