use thiserror::Error;
#[derive(Debug, Error)]
pub enum VqError {
#[error("Dimension mismatch: expected {expected}, found {found}")]
DimensionMismatch { expected: usize, found: usize },
#[error("Empty input: at least one vector is required")]
EmptyInput,
#[error("Invalid parameter '{parameter}': {reason}")]
InvalidParameter {
parameter: &'static str,
reason: String,
},
#[error("Invalid data: {0}")]
InvalidData(String),
#[error("FFI error: {0}")]
FfiError(String),
}
pub type VqResult<T> = std::result::Result<T, VqError>;