1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use thiserror::Error; use crate::Status; #[derive(Debug, Error, PartialEq)] pub enum Error { #[error("an FPGA operation failed: {0}")] FPGA(Status), #[error("the FPGA returned an invalid enum discriminant: {0}")] InvalidEnumDiscriminant(u64), #[error("{0} is out of bounds for FXP<{1}, {2}, {3}>`")] FixedPointOutOfBounds(f64, u8, u8, bool), #[error("{0} ({0:b}) is out of bounds for FXP<{1}, {2}, {3}>`")] FixedPointRawOutOfBounds(u64, u8, u8, bool), #[error("{0} cannot be precisely represented as FXP<{1}, {2}, {3}>`")] FixedPointPrecision(f64, u8, u8, bool), }