Skip to main content

qrcode_rust_shared/
qr_util.rs

1//! QR Code utilities
2
3/// Get BCH digit count
4pub fn get_bch_digit(data: i32) -> i32 {
5    let mut digit = 0;
6    let mut data = data;
7    while data != 0 {
8        digit += 1;
9        data >>= 1;
10    }
11    digit
12}
13
14/// Get length in bits for mode indicator
15pub fn get_length_in_bits(mode: i32, type_num: i32) -> i32 {
16    if mode != 4 {
17        // MODE_8BIT_BYTE
18        panic!("Invalid mode");
19    }
20
21    if (1..10).contains(&type_num) {
22        8
23    } else {
24        16
25    }
26}