pinyinchch-type 0.1.0

一个拼音转汉字的工具库
Documentation
use std::collections::HashMap;

#[derive(Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct HmmData {
    pub data: HashMap<String, f64>,
    pub default: f64,
}

#[derive(Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct HmmPy2Hz {
    #[cfg_attr(feature = "serde", serde(flatten))]
    pub data: HashMap<String, String>,
}

#[derive(Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct HmmTransition {
    pub data: HashMap<String, HashMap<String, f64>>,
    pub default: f64,
}

#[derive(Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct HmmEmission {
    pub data: HashMap<String, HashMap<String, f64>>,
    pub default: f64,
}

#[derive(Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct DagChar {
    #[cfg_attr(feature = "serde", serde(flatten))]
    pub data: HashMap<String, Vec<(String, f64)>>,
}

#[derive(Debug)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[cfg_attr(
    feature = "rkyv",
    derive(rkyv::Archive, rkyv::Deserialize, rkyv::Serialize)
)]
pub struct DagPhrase {
    #[cfg_attr(feature = "serde", serde(flatten))]
    pub data: HashMap<String, Vec<(String, f64)>>,
}