phomo 0.6.0

A photo mosaic generation library
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum SolverError {
    #[error("Lsap error: {0}")]
    HungarianError(#[from] HungarianError),
    #[error("Auction error: {0}")]
    AuctionError(#[from] AuctionError),

    #[error(
        "Too few columns in the distance matrix, expected at least {rows}, but found {columns}"
    )]
    TooFewColumns { rows: usize, columns: usize },
}

#[derive(Debug, Error)]
pub enum HungarianError {
    #[error("Infeasible")]
    Infeasible,
}

#[derive(Debug, Error)]
pub enum AuctionError {
    #[error("Unassigned agents.")]
    UnassignedAgents,
}