mod endpoint_normalizer;
pub(crate) use endpoint_normalizer::{
LogNormalCdfDiffDerivatives, endpoint_chain_first, endpoint_chain_fourth,
endpoint_chain_second, endpoint_chain_third, log_normal_cdf_diff,
log_normal_cdf_diff_derivatives,
};
pub(crate) use crate::basis::{
BasisOptions, Dense, KnotSource, create_basis, create_difference_penalty_matrix,
create_ispline_derivative_dense,
};
pub(crate) use crate::faer_ndarray::{fast_ab, fast_abt, fast_atb};
pub(crate) use crate::families::custom_family::{
BlockWorkingSet, BlockwiseFitOptions, CustomFamily, CustomFamilyBlockPsiDerivative,
CustomFamilyPsiDerivativeOperator, CustomFamilyWarmStart, ExactNewtonJointGradientEvaluation,
ExactNewtonJointHessianWorkspace, ExactNewtonJointPsiSecondOrderTerms,
ExactNewtonJointPsiTerms, ExactNewtonJointPsiWorkspace, FamilyEvaluation,
JointHessianSourcePreference, MaterializablePsiDerivativeOperator, MaterializationIntent,
ParameterBlockSpec, ParameterBlockState, PenaltyMatrix, evaluate_custom_family_joint_hyper,
evaluate_custom_family_joint_hyper_efs, fit_custom_family, fit_custom_family_fixed_log_lambdas,
};
pub(crate) use crate::families::gamlss::solve_penalizedweighted_projection;
pub(crate) use crate::families::spatial_psi_bridge::build_block_spatial_psi_derivatives;
pub(crate) use crate::families::wiggle::initializewiggle_knots_from_seed;
pub(crate) use crate::inference::model::{
TRANSFORMATION_SCORE_PIT_CLIP_EPS, TransformationScoreCalibration,
};
pub(crate) use crate::matrix::{
DenseDesignMatrix, DenseDesignOperator, DesignMatrix, LinearOperator, SymmetricMatrix,
dense_rowwise_kronecker,
};
pub(crate) use crate::model_types::UnifiedFitResult;
pub(crate) use crate::pirls::LinearInequalityConstraints;
pub(crate) use crate::probability::standard_normal_quantile;
pub(crate) use crate::smooth::{
ExactJointHyperSetup, SpatialLengthScaleOptimizationOptions, SpatialLogKappaCoords,
TermCollectionDesign, TermCollectionSpec, build_term_collection_design,
freeze_term_collection_from_design, optimize_spatial_length_scale_exact_joint,
spatial_length_scale_term_indices,
};
pub(crate) use gam_problem::{
DriftDerivResult, HyperOperator, ProjectedFactorCache, ProjectedFactorKey,
};
pub(crate) use gam_runtime::resource::{MatrixMaterializationError, ResourcePolicy};
pub(crate) use ndarray::{Array1, Array2, ArrayView1, ArrayView2, ArrayViewMut2, s};
pub(crate) use std::cell::RefCell;
pub(crate) use std::sync::{Arc, Mutex, OnceLock};
mod config;
mod custom_family;
mod error;
mod family;
mod fit;
mod kronecker_design;
mod operators;
mod penalty_scaling;
mod psi_operator;
mod response_basis;
mod scop_curvature;
mod scop_density;
mod scop_psi;
mod warm_start;
pub use config::*;
pub use error::*;
pub use family::*;
pub use fit::*;
pub(crate) use kronecker_design::*;
pub(crate) use operators::*;
pub(crate) use penalty_scaling::*;
pub use psi_operator::*;
pub use response_basis::effective_response_num_internal_knots;
pub(crate) use response_basis::{
assert_rowwise_kronecker_dimensions, build_response_basis, response_endpoint_value_bases,
response_floor_offsets,
};
pub use scop_density::*;
pub(crate) use warm_start::*;
#[cfg(test)]
mod tests;