Skip to main content

kwaai_compression/
error.rs

1//! Error types for compression operations
2
3use thiserror::Error;
4
5/// Result type for compression operations
6pub type CompressionResult<T> = Result<T, CompressionError>;
7
8/// Errors that can occur during compression
9#[derive(Error, Debug)]
10pub enum CompressionError {
11    /// Compression failed
12    #[error("Compression failed: {0}")]
13    CompressionFailed(String),
14
15    /// Decompression failed
16    #[error("Decompression failed: {0}")]
17    DecompressionFailed(String),
18
19    /// Invalid data
20    #[error("Invalid compressed data: {0}")]
21    InvalidData(String),
22
23    /// Shape mismatch
24    #[error("Shape mismatch: expected {expected:?}, got {actual:?}")]
25    ShapeMismatch {
26        expected: Vec<usize>,
27        actual: Vec<usize>,
28    },
29
30    /// Tensor error
31    #[error("Tensor error: {0}")]
32    TensorError(String),
33}
34
35impl From<candle_core::Error> for CompressionError {
36    fn from(err: candle_core::Error) -> Self {
37        CompressionError::TensorError(err.to_string())
38    }
39}