rust_optimal_transport/
error.rs1use crate::exact;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum OTError {
6 #[error(
7 "Sample weight dimensions, source distribution \
8 {dim_a:?} and target distribution {dim_b:?}, do \
9 not match loss matrix dimensions, ({dim_m_0:?}, {dim_m_1:?})"
10 )]
11 WeightDimensionError {
12 dim_a: usize,
13 dim_b: usize,
14 dim_m_0: usize,
15 dim_m_1: usize,
16 },
17
18 #[error("Exact solver failed. ")]
19 ExactOTError {
20 #[from]
21 source: exact::FastTransportErrorCode,
22 },
23
24 #[error("Invalid argument: '{0}'")]
25 ArgError(String),
26
27 #[error(transparent)]
28 Other(#[from] anyhow::Error),
29}