mirror of
https://github.com/starovoid/rxing.git
synced 2026-07-26 12:22:34 +00:00
change to using once_cell for lazy init
This commit is contained in:
@@ -450,120 +450,119 @@ impl Code128Reader {
|
||||
}
|
||||
}
|
||||
|
||||
use lazy_static::lazy_static;
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
lazy_static! {
|
||||
|
||||
pub static ref CODE_PATTERNS: [Vec<u32>; 107] = [
|
||||
vec![2, 1, 2, 2, 2, 2], // 0
|
||||
vec![2, 2, 2, 1, 2, 2],
|
||||
vec![2, 2, 2, 2, 2, 1],
|
||||
vec![1, 2, 1, 2, 2, 3],
|
||||
vec![1, 2, 1, 3, 2, 2],
|
||||
vec![1, 3, 1, 2, 2, 2], // 5
|
||||
vec![1, 2, 2, 2, 1, 3],
|
||||
vec![1, 2, 2, 3, 1, 2],
|
||||
vec![1, 3, 2, 2, 1, 2],
|
||||
vec![2, 2, 1, 2, 1, 3],
|
||||
vec![2, 2, 1, 3, 1, 2], // 10
|
||||
vec![2, 3, 1, 2, 1, 2],
|
||||
vec![1, 1, 2, 2, 3, 2],
|
||||
vec![1, 2, 2, 1, 3, 2],
|
||||
vec![1, 2, 2, 2, 3, 1],
|
||||
vec![1, 1, 3, 2, 2, 2], // 15
|
||||
vec![1, 2, 3, 1, 2, 2],
|
||||
vec![1, 2, 3, 2, 2, 1],
|
||||
vec![2, 2, 3, 2, 1, 1],
|
||||
vec![2, 2, 1, 1, 3, 2],
|
||||
vec![2, 2, 1, 2, 3, 1], // 20
|
||||
vec![2, 1, 3, 2, 1, 2],
|
||||
vec![2, 2, 3, 1, 1, 2],
|
||||
vec![3, 1, 2, 1, 3, 1],
|
||||
vec![3, 1, 1, 2, 2, 2],
|
||||
vec![3, 2, 1, 1, 2, 2], // 25
|
||||
vec![3, 2, 1, 2, 2, 1],
|
||||
vec![3, 1, 2, 2, 1, 2],
|
||||
vec![3, 2, 2, 1, 1, 2],
|
||||
vec![3, 2, 2, 2, 1, 1],
|
||||
vec![2, 1, 2, 1, 2, 3], // 30
|
||||
vec![2, 1, 2, 3, 2, 1],
|
||||
vec![2, 3, 2, 1, 2, 1],
|
||||
vec![1, 1, 1, 3, 2, 3],
|
||||
vec![1, 3, 1, 1, 2, 3],
|
||||
vec![1, 3, 1, 3, 2, 1], // 35
|
||||
vec![1, 1, 2, 3, 1, 3],
|
||||
vec![1, 3, 2, 1, 1, 3],
|
||||
vec![1, 3, 2, 3, 1, 1],
|
||||
vec![2, 1, 1, 3, 1, 3],
|
||||
vec![2, 3, 1, 1, 1, 3], // 40
|
||||
vec![2, 3, 1, 3, 1, 1],
|
||||
vec![1, 1, 2, 1, 3, 3],
|
||||
vec![1, 1, 2, 3, 3, 1],
|
||||
vec![1, 3, 2, 1, 3, 1],
|
||||
vec![1, 1, 3, 1, 2, 3], // 45
|
||||
vec![1, 1, 3, 3, 2, 1],
|
||||
vec![1, 3, 3, 1, 2, 1],
|
||||
vec![3, 1, 3, 1, 2, 1],
|
||||
vec![2, 1, 1, 3, 3, 1],
|
||||
vec![2, 3, 1, 1, 3, 1], // 50
|
||||
vec![2, 1, 3, 1, 1, 3],
|
||||
vec![2, 1, 3, 3, 1, 1],
|
||||
vec![2, 1, 3, 1, 3, 1],
|
||||
vec![3, 1, 1, 1, 2, 3],
|
||||
vec![3, 1, 1, 3, 2, 1], // 55
|
||||
vec![3, 3, 1, 1, 2, 1],
|
||||
vec![3, 1, 2, 1, 1, 3],
|
||||
vec![3, 1, 2, 3, 1, 1],
|
||||
vec![3, 3, 2, 1, 1, 1],
|
||||
vec![3, 1, 4, 1, 1, 1], // 60
|
||||
vec![2, 2, 1, 4, 1, 1],
|
||||
vec![4, 3, 1, 1, 1, 1],
|
||||
vec![1, 1, 1, 2, 2, 4],
|
||||
vec![1, 1, 1, 4, 2, 2],
|
||||
vec![1, 2, 1, 1, 2, 4], // 65
|
||||
vec![1, 2, 1, 4, 2, 1],
|
||||
vec![1, 4, 1, 1, 2, 2],
|
||||
vec![1, 4, 1, 2, 2, 1],
|
||||
vec![1, 1, 2, 2, 1, 4],
|
||||
vec![1, 1, 2, 4, 1, 2], // 70
|
||||
vec![1, 2, 2, 1, 1, 4],
|
||||
vec![1, 2, 2, 4, 1, 1],
|
||||
vec![1, 4, 2, 1, 1, 2],
|
||||
vec![1, 4, 2, 2, 1, 1],
|
||||
vec![2, 4, 1, 2, 1, 1], // 75
|
||||
vec![2, 2, 1, 1, 1, 4],
|
||||
vec![4, 1, 3, 1, 1, 1],
|
||||
vec![2, 4, 1, 1, 1, 2],
|
||||
vec![1, 3, 4, 1, 1, 1],
|
||||
vec![1, 1, 1, 2, 4, 2], // 80
|
||||
vec![1, 2, 1, 1, 4, 2],
|
||||
vec![1, 2, 1, 2, 4, 1],
|
||||
vec![1, 1, 4, 2, 1, 2],
|
||||
vec![1, 2, 4, 1, 1, 2],
|
||||
vec![1, 2, 4, 2, 1, 1], // 85
|
||||
vec![4, 1, 1, 2, 1, 2],
|
||||
vec![4, 2, 1, 1, 1, 2],
|
||||
vec![4, 2, 1, 2, 1, 1],
|
||||
vec![2, 1, 2, 1, 4, 1],
|
||||
vec![2, 1, 4, 1, 2, 1], // 90
|
||||
vec![4, 1, 2, 1, 2, 1],
|
||||
vec![1, 1, 1, 1, 4, 3],
|
||||
vec![1, 1, 1, 3, 4, 1],
|
||||
vec![1, 3, 1, 1, 4, 1],
|
||||
vec![1, 1, 4, 1, 1, 3], // 95
|
||||
vec![1, 1, 4, 3, 1, 1],
|
||||
vec![4, 1, 1, 1, 1, 3],
|
||||
vec![4, 1, 1, 3, 1, 1],
|
||||
vec![1, 1, 3, 1, 4, 1],
|
||||
vec![1, 1, 4, 1, 3, 1], // 100
|
||||
vec![3, 1, 1, 1, 4, 1],
|
||||
vec![4, 1, 1, 1, 3, 1],
|
||||
vec![2, 1, 1, 4, 1, 2],
|
||||
vec![2, 1, 1, 2, 1, 4],
|
||||
vec![2, 1, 1, 2, 3, 2], // 105
|
||||
vec![2, 3, 3, 1, 1, 1, 2],
|
||||
];
|
||||
}
|
||||
pub static CODE_PATTERNS: Lazy<[Vec<u32>; 107]> = Lazy::new(|| {
|
||||
[
|
||||
vec![2, 1, 2, 2, 2, 2], // 0
|
||||
vec![2, 2, 2, 1, 2, 2],
|
||||
vec![2, 2, 2, 2, 2, 1],
|
||||
vec![1, 2, 1, 2, 2, 3],
|
||||
vec![1, 2, 1, 3, 2, 2],
|
||||
vec![1, 3, 1, 2, 2, 2], // 5
|
||||
vec![1, 2, 2, 2, 1, 3],
|
||||
vec![1, 2, 2, 3, 1, 2],
|
||||
vec![1, 3, 2, 2, 1, 2],
|
||||
vec![2, 2, 1, 2, 1, 3],
|
||||
vec![2, 2, 1, 3, 1, 2], // 10
|
||||
vec![2, 3, 1, 2, 1, 2],
|
||||
vec![1, 1, 2, 2, 3, 2],
|
||||
vec![1, 2, 2, 1, 3, 2],
|
||||
vec![1, 2, 2, 2, 3, 1],
|
||||
vec![1, 1, 3, 2, 2, 2], // 15
|
||||
vec![1, 2, 3, 1, 2, 2],
|
||||
vec![1, 2, 3, 2, 2, 1],
|
||||
vec![2, 2, 3, 2, 1, 1],
|
||||
vec![2, 2, 1, 1, 3, 2],
|
||||
vec![2, 2, 1, 2, 3, 1], // 20
|
||||
vec![2, 1, 3, 2, 1, 2],
|
||||
vec![2, 2, 3, 1, 1, 2],
|
||||
vec![3, 1, 2, 1, 3, 1],
|
||||
vec![3, 1, 1, 2, 2, 2],
|
||||
vec![3, 2, 1, 1, 2, 2], // 25
|
||||
vec![3, 2, 1, 2, 2, 1],
|
||||
vec![3, 1, 2, 2, 1, 2],
|
||||
vec![3, 2, 2, 1, 1, 2],
|
||||
vec![3, 2, 2, 2, 1, 1],
|
||||
vec![2, 1, 2, 1, 2, 3], // 30
|
||||
vec![2, 1, 2, 3, 2, 1],
|
||||
vec![2, 3, 2, 1, 2, 1],
|
||||
vec![1, 1, 1, 3, 2, 3],
|
||||
vec![1, 3, 1, 1, 2, 3],
|
||||
vec![1, 3, 1, 3, 2, 1], // 35
|
||||
vec![1, 1, 2, 3, 1, 3],
|
||||
vec![1, 3, 2, 1, 1, 3],
|
||||
vec![1, 3, 2, 3, 1, 1],
|
||||
vec![2, 1, 1, 3, 1, 3],
|
||||
vec![2, 3, 1, 1, 1, 3], // 40
|
||||
vec![2, 3, 1, 3, 1, 1],
|
||||
vec![1, 1, 2, 1, 3, 3],
|
||||
vec![1, 1, 2, 3, 3, 1],
|
||||
vec![1, 3, 2, 1, 3, 1],
|
||||
vec![1, 1, 3, 1, 2, 3], // 45
|
||||
vec![1, 1, 3, 3, 2, 1],
|
||||
vec![1, 3, 3, 1, 2, 1],
|
||||
vec![3, 1, 3, 1, 2, 1],
|
||||
vec![2, 1, 1, 3, 3, 1],
|
||||
vec![2, 3, 1, 1, 3, 1], // 50
|
||||
vec![2, 1, 3, 1, 1, 3],
|
||||
vec![2, 1, 3, 3, 1, 1],
|
||||
vec![2, 1, 3, 1, 3, 1],
|
||||
vec![3, 1, 1, 1, 2, 3],
|
||||
vec![3, 1, 1, 3, 2, 1], // 55
|
||||
vec![3, 3, 1, 1, 2, 1],
|
||||
vec![3, 1, 2, 1, 1, 3],
|
||||
vec![3, 1, 2, 3, 1, 1],
|
||||
vec![3, 3, 2, 1, 1, 1],
|
||||
vec![3, 1, 4, 1, 1, 1], // 60
|
||||
vec![2, 2, 1, 4, 1, 1],
|
||||
vec![4, 3, 1, 1, 1, 1],
|
||||
vec![1, 1, 1, 2, 2, 4],
|
||||
vec![1, 1, 1, 4, 2, 2],
|
||||
vec![1, 2, 1, 1, 2, 4], // 65
|
||||
vec![1, 2, 1, 4, 2, 1],
|
||||
vec![1, 4, 1, 1, 2, 2],
|
||||
vec![1, 4, 1, 2, 2, 1],
|
||||
vec![1, 1, 2, 2, 1, 4],
|
||||
vec![1, 1, 2, 4, 1, 2], // 70
|
||||
vec![1, 2, 2, 1, 1, 4],
|
||||
vec![1, 2, 2, 4, 1, 1],
|
||||
vec![1, 4, 2, 1, 1, 2],
|
||||
vec![1, 4, 2, 2, 1, 1],
|
||||
vec![2, 4, 1, 2, 1, 1], // 75
|
||||
vec![2, 2, 1, 1, 1, 4],
|
||||
vec![4, 1, 3, 1, 1, 1],
|
||||
vec![2, 4, 1, 1, 1, 2],
|
||||
vec![1, 3, 4, 1, 1, 1],
|
||||
vec![1, 1, 1, 2, 4, 2], // 80
|
||||
vec![1, 2, 1, 1, 4, 2],
|
||||
vec![1, 2, 1, 2, 4, 1],
|
||||
vec![1, 1, 4, 2, 1, 2],
|
||||
vec![1, 2, 4, 1, 1, 2],
|
||||
vec![1, 2, 4, 2, 1, 1], // 85
|
||||
vec![4, 1, 1, 2, 1, 2],
|
||||
vec![4, 2, 1, 1, 1, 2],
|
||||
vec![4, 2, 1, 2, 1, 1],
|
||||
vec![2, 1, 2, 1, 4, 1],
|
||||
vec![2, 1, 4, 1, 2, 1], // 90
|
||||
vec![4, 1, 2, 1, 2, 1],
|
||||
vec![1, 1, 1, 1, 4, 3],
|
||||
vec![1, 1, 1, 3, 4, 1],
|
||||
vec![1, 3, 1, 1, 4, 1],
|
||||
vec![1, 1, 4, 1, 1, 3], // 95
|
||||
vec![1, 1, 4, 3, 1, 1],
|
||||
vec![4, 1, 1, 1, 1, 3],
|
||||
vec![4, 1, 1, 3, 1, 1],
|
||||
vec![1, 1, 3, 1, 4, 1],
|
||||
vec![1, 1, 4, 1, 3, 1], // 100
|
||||
vec![3, 1, 1, 1, 4, 1],
|
||||
vec![4, 1, 1, 1, 3, 1],
|
||||
vec![2, 1, 1, 4, 1, 2],
|
||||
vec![2, 1, 1, 2, 1, 4],
|
||||
vec![2, 1, 1, 2, 3, 2], // 105
|
||||
vec![2, 3, 3, 1, 1, 1, 2],
|
||||
]
|
||||
});
|
||||
|
||||
const MAX_AVG_VARIANCE: f32 = 0.25;
|
||||
const MAX_INDIVIDUAL_VARIANCE: f32 = 0.7;
|
||||
|
||||
Reference in New Issue
Block a user