use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;
use crate::{config::配置, 原始可编码对象, 原始当量信息, 原始键位分布信息};
pub mod command_line;
pub mod web;
pub mod server;
#[derive(Serialize)]
#[serde(tag = "type", rename_all = "snake_case")]
#[skip_serializing_none]
pub enum 消息 {
TrialMax {
temperature: f64,
accept_rate: f64,
},
TrialMin {
temperature: f64,
improve_rate: f64,
},
Parameters {
t_max: f64,
t_min: f64,
},
Progress {
steps: usize,
temperature: f64,
config: String,
metric: String,
score: f64,
},
BetterSolution {
index: Option<u64>,
config: String,
metric: String,
score: f64,
},
Elapsed {
time: u64,
},
}
pub trait 界面 {
fn 发送(&self, 消息: 消息);
}
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
pub struct 默认输入 {
pub 配置: 配置,
pub 词列表: Vec<原始可编码对象>,
pub 原始键位分布信息: 原始键位分布信息,
pub 原始当量信息: 原始当量信息,
}