concrete_fftw/
error.rs

1use crate::array::Alignment;
2use std::fmt::{Display, Formatter};
3
4pub type Result<T> = ::std::result::Result<T, Error>;
5
6#[derive(Debug)]
7pub enum Error {
8    InvalidPlanError {},
9    InputArrayMismatch {
10        expect: (usize, Alignment),
11        actual: (usize, Alignment),
12    },
13    OutputArrayMismatch {
14        expect: (usize, Alignment),
15        actual: (usize, Alignment),
16    },
17}
18
19impl Display for Error {
20    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
21        match self {
22            Error::InvalidPlanError {} => write!(f, "Invalid Plan"),
23            Error::OutputArrayMismatch { expect, actual } => {
24                write!(
25                    f,
26                    "Output array mismatch: expect={:?}, actual={:?}",
27                    expect, actual
28                )
29            }
30            Error::InputArrayMismatch { expect, actual } => {
31                write!(
32                    f,
33                    "Input array mismatch: expect={:?}, actual={:?}",
34                    expect, actual
35                )
36            }
37        }
38    }
39}
40
41impl std::error::Error for Error {}