use thiserror::Error;
pub type CompressionResult<T> = Result<T, CompressionError>;
#[derive(Error, Debug)]
pub enum CompressionError {
#[error("Compression failed: {0}")]
CompressionFailed(String),
#[error("Decompression failed: {0}")]
DecompressionFailed(String),
#[error("Invalid compressed data: {0}")]
InvalidData(String),
#[error("Shape mismatch: expected {expected:?}, got {actual:?}")]
ShapeMismatch {
expected: Vec<usize>,
actual: Vec<usize>,
},
#[error("Tensor error: {0}")]
TensorError(String),
}
impl From<candle_core::Error> for CompressionError {
fn from(err: candle_core::Error) -> Self {
CompressionError::TensorError(err.to_string())
}
}