mod common;
mod high_level_api;
mod low_level_api;
mod utils;
pub use high_level_api::CoolProp;
pub use low_level_api::AbstractState;
#[derive(Clone, Debug, Eq, PartialEq, thiserror::Error)]
#[non_exhaustive]
pub enum CoolPropError {
#[error("{0}")]
Native(String),
#[error("CoolProp returned a non-finite output without an error message")]
NonFiniteOutput,
#[error("CoolProp returned a non-finite output for key `{key}` without an error message")]
NonFiniteKeyedOutput {
key: u8,
},
#[error("input `{arg}` contains an interior NUL byte at byte position {pos}")]
InteriorNul {
arg: &'static str,
pos: usize,
},
}
pub type Result<T> = std::result::Result<T, CoolPropError>;