mod metrics;
mod porter;
mod rouge_type;
mod score;
mod scorer;
mod tokenizer;
use std::fmt;
pub use rouge_type::RougeType;
pub use score::{fmeasure, Score};
pub use scorer::{Document, RougeScorer, Scores};
pub use tokenizer::Tokenizer;
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Error {
InvalidRougeType(String),
NonPositiveN(String),
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::InvalidRougeType(name) => write!(f, "Invalid rouge type: {name}"),
Error::NonPositiveN(name) => write!(f, "rougen requires positive n: {name}"),
}
}
}
impl std::error::Error for Error {}