5 stable releases
1.1.1 | Mar 21, 2023 |
---|---|
1.1.0 | Jan 17, 2023 |
1.0.2 | Mar 24, 2022 |
1.0.1 | Mar 16, 2022 |
1.0.0 | Mar 1, 2022 |
#962 in Algorithms
9KB
132 lines
imei
An IMEI number validator implemented in Rust.
imei = "1"
Example
Basic example:
fn main() {
let num = "490154203237518";
let valid = imei::valid(num);
println!("{num}: {valid}");
}
Result:
490154203237518: true
Speed
This validator is designed to be as fast and efficient as possible. It uses small number types, precalculates the character conversions, and only iterates through the imei number once. The speed test in the tests directory gets the average speed of validation over 10,000,000 cycles. Typically, the validation process sub 1000th of a milisecond (practically instant!).
Features
- The
std
is enabled by default which implementserror::Error
forimei::Error
. - The
serde
feature adds serialization/deserialization for theImei
struct.
Dependencies
~0.3–1MB
~21K SLoC