#[cfg(feature = "openblas")]
pub mod fama_macbeth;
#[cfg(feature = "openblas")]
pub mod pairs;
#[cfg(feature = "openblas")]
pub mod pca;
pub mod shrinkage;
#[derive(Debug)]
pub enum FactorsError {
SvdFailed(String),
OlsFailed(String),
Numerical(String),
}
impl std::fmt::Display for FactorsError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::SvdFailed(msg) => write!(f, "SVD failed: {msg}"),
Self::OlsFailed(msg) => write!(f, "OLS failed: {msg}"),
Self::Numerical(msg) => write!(f, "numerical fault: {msg}"),
}
}
}
impl std::error::Error for FactorsError {}
#[cfg(feature = "openblas")]
pub use fama_macbeth::FamaMacBethResult;
#[cfg(feature = "openblas")]
pub use fama_macbeth::fama_macbeth;
#[cfg(feature = "openblas")]
pub use fama_macbeth::try_fama_macbeth;
#[cfg(feature = "openblas")]
pub use pairs::PairsSignal;
#[cfg(feature = "openblas")]
pub use pairs::PairsStrategy;
#[cfg(feature = "openblas")]
pub use pairs::pairs_signals;
#[cfg(feature = "openblas")]
pub use pairs::try_pairs_signals;
#[cfg(feature = "openblas")]
pub use pca::PcaResult;
#[cfg(feature = "openblas")]
pub use pca::pca_decompose;
#[cfg(feature = "openblas")]
pub use pca::try_pca_decompose;
pub use shrinkage::ledoit_wolf_shrinkage;
pub use shrinkage::sample_covariance;