refactor(data): use explicit string views for compact numeric names

This commit is contained in:
boris
2026-09-13 09:55:15 +08:00
committed by boris
parent c85daae608
commit 0ff90c4329
3 changed files with 12 additions and 12 deletions
+5 -5
View File
@@ -40,14 +40,14 @@ impl NumericFactorMap {
pub fn get(&self, key: &str) -> Option<&f64> {
self.entries
.binary_search_by(|(name, _)| name.as_ref().cmp(key))
.binary_search_by(|(name, _)| name.as_str().cmp(key))
.ok()
.map(|index| &self.entries[index].1)
}
pub fn get_mut(&mut self, key: &str) -> Option<&mut f64> {
self.entries
.binary_search_by(|(name, _)| name.as_ref().cmp(key))
.binary_search_by(|(name, _)| name.as_str().cmp(key))
.ok()
.map(|index| &mut self.entries[index].1)
}
@@ -64,14 +64,14 @@ impl NumericFactorMap {
if self
.entries
.last()
.is_none_or(|(last, _)| last.as_ref() < key.as_ref())
.is_none_or(|(last, _)| last.as_str() < key.as_str())
{
self.entries.push((key, value));
return None;
}
match self
.entries
.binary_search_by(|(name, _)| name.as_ref().cmp(key.as_ref()))
.binary_search_by(|(name, _)| name.as_str().cmp(key.as_str()))
{
Ok(index) => Some(std::mem::replace(&mut self.entries[index].1, value)),
Err(index) => {
@@ -83,7 +83,7 @@ impl NumericFactorMap {
pub fn remove(&mut self, key: &str) -> Option<f64> {
self.entries
.binary_search_by(|(name, _)| name.as_ref().cmp(key))
.binary_search_by(|(name, _)| name.as_str().cmp(key))
.ok()
.map(|index| self.entries.remove(index).1)
}