mirror of
https://github.com/starovoid/rxing.git
synced 2026-07-26 04:12:34 +00:00
remove unnecessary number suffixes
This commit is contained in:
@@ -342,7 +342,7 @@ fn correct_bits(
|
|||||||
}
|
}
|
||||||
let mut offset = rawbits.len() % codeword_size;
|
let mut offset = rawbits.len() % codeword_size;
|
||||||
|
|
||||||
let mut data_words = vec![0i32; num_codewords];
|
let mut data_words = vec![0; num_codewords];
|
||||||
for word in data_words.iter_mut().take(num_codewords) {
|
for word in data_words.iter_mut().take(num_codewords) {
|
||||||
// for i in 0..num_codewords {
|
// for i in 0..num_codewords {
|
||||||
// for (int i = 0; i < numCodewords; i++, offset += codewordSize) {
|
// for (int i = 0; i < numCodewords; i++, offset += codewordSize) {
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ impl<'a> Detector<'_> {
|
|||||||
self.shift = Self::get_rotation(&sides, length)?;
|
self.shift = Self::get_rotation(&sides, length)?;
|
||||||
|
|
||||||
// Flatten the parameter bits into a single 28- or 40-bit long
|
// Flatten the parameter bits into a single 28- or 40-bit long
|
||||||
let mut parameter_data = 0u64;
|
let mut parameter_data: u64 = 0;
|
||||||
for i in 0..4 {
|
for i in 0..4 {
|
||||||
// for (int i = 0; i < 4; i++) {
|
// for (int i = 0; i < 4; i++) {
|
||||||
let side = sides[(self.shift + i) as usize % 4];
|
let side = sides[(self.shift + i) as usize % 4];
|
||||||
@@ -230,7 +230,7 @@ impl<'a> Detector<'_> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let num_eccodewords = num_codewords - num_data_codewords;
|
let num_eccodewords = num_codewords - num_data_codewords;
|
||||||
let mut parameterWords = vec![0i32; num_codewords as usize];
|
let mut parameterWords = vec![0; num_codewords as usize];
|
||||||
for i in (0..num_codewords).rev() {
|
for i in (0..num_codewords).rev() {
|
||||||
// for (int i = numCodewords - 1; i >= 0; --i) {
|
// for (int i = numCodewords - 1; i >= 0; --i) {
|
||||||
parameterWords[i as usize] = (parameter_data & 0xF) as i32;
|
parameterWords[i as usize] = (parameter_data & 0xF) as i32;
|
||||||
@@ -245,7 +245,7 @@ impl<'a> Detector<'_> {
|
|||||||
//throw NotFoundException.getNotFoundInstance();
|
//throw NotFoundException.getNotFoundInstance();
|
||||||
//}
|
//}
|
||||||
// Toss the error correction. Just return the data as an integer
|
// Toss the error correction. Just return the data as an integer
|
||||||
let mut result = 0u32;
|
let mut result: u32 = 0;
|
||||||
for i in 0..num_data_codewords {
|
for i in 0..num_data_codewords {
|
||||||
// for (int i = 0; i < numDataCodewords; i++) {
|
// for (int i = 0; i < numDataCodewords; i++) {
|
||||||
result = (result << 4) + parameterWords[i as usize] as u32;
|
result = (result << 4) + parameterWords[i as usize] as u32;
|
||||||
@@ -321,10 +321,10 @@ impl<'a> Detector<'_> {
|
|||||||
|
|
||||||
// Expand the square by .5 pixel in each direction so that we're on the border
|
// Expand the square by .5 pixel in each direction so that we're on the border
|
||||||
// between the white square and the black square
|
// between the white square and the black square
|
||||||
let pinax = point(pina.get_x() as f32 + 0.5f32, pina.get_y() as f32 - 0.5f32);
|
let pinax = point(pina.get_x() as f32 + 0.5, pina.get_y() as f32 - 0.5);
|
||||||
let pinbx = point(pinb.get_x() as f32 + 0.5f32, pinb.get_y() as f32 + 0.5f32);
|
let pinbx = point(pinb.get_x() as f32 + 0.5, pinb.get_y() as f32 + 0.5);
|
||||||
let pincx = point(pinc.get_x() as f32 - 0.5f32, pinc.get_y() as f32 + 0.5f32);
|
let pincx = point(pinc.get_x() as f32 - 0.5, pinc.get_y() as f32 + 0.5);
|
||||||
let pindx = point(pind.get_x() as f32 - 0.5f32, pind.get_y() as f32 - 0.5f32);
|
let pindx = point(pind.get_x() as f32 - 0.5, pind.get_y() as f32 - 0.5);
|
||||||
|
|
||||||
// Expand the square so that its corners are the centers of the points
|
// Expand the square so that its corners are the centers of the points
|
||||||
// just outside the bull's eye.
|
// just outside the bull's eye.
|
||||||
@@ -483,8 +483,8 @@ impl<'a> Detector<'_> {
|
|||||||
let sampler = DefaultGridSampler::default();
|
let sampler = DefaultGridSampler::default();
|
||||||
let dimension = self.get_dimension();
|
let dimension = self.get_dimension();
|
||||||
|
|
||||||
let low = dimension as f32 / 2.0f32 - self.nb_center_layers as f32;
|
let low = dimension as f32 / 2.0 - self.nb_center_layers as f32;
|
||||||
let high = dimension as f32 / 2.0f32 + self.nb_center_layers as f32;
|
let high = dimension as f32 / 2.0 + self.nb_center_layers as f32;
|
||||||
|
|
||||||
sampler.sample_grid_detailed(
|
sampler.sample_grid_detailed(
|
||||||
image,
|
image,
|
||||||
@@ -601,7 +601,7 @@ impl<'a> Detector<'_> {
|
|||||||
*/
|
*/
|
||||||
fn get_color(&self, p1: AztecPoint, p2: AztecPoint) -> i32 {
|
fn get_color(&self, p1: AztecPoint, p2: AztecPoint) -> i32 {
|
||||||
let d = Self::distance_points(p1, p2);
|
let d = Self::distance_points(p1, p2);
|
||||||
if d == 0.0f32 {
|
if d == 0.0 {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
let dx = (p2.get_x() - p1.get_x()) as f32 / d;
|
let dx = (p2.get_x() - p1.get_x()) as f32 / d;
|
||||||
@@ -626,11 +626,11 @@ impl<'a> Detector<'_> {
|
|||||||
|
|
||||||
let err_ratio = error as f32 / d;
|
let err_ratio = error as f32 / d;
|
||||||
|
|
||||||
if err_ratio > 0.1f32 && err_ratio < 0.9f32 {
|
if err_ratio > 0.1 && err_ratio < 0.9 {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err_ratio <= 0.1f32) == color_model {
|
if (err_ratio <= 0.1) == color_model {
|
||||||
1
|
1
|
||||||
} else {
|
} else {
|
||||||
-1
|
-1
|
||||||
@@ -674,7 +674,7 @@ impl<'a> Detector<'_> {
|
|||||||
* @return the corners of the expanded square
|
* @return the corners of the expanded square
|
||||||
*/
|
*/
|
||||||
fn expand_square(corner_points: &[Point], old_side: u32, new_side: u32) -> [Point; 4] {
|
fn expand_square(corner_points: &[Point], old_side: u32, new_side: u32) -> [Point; 4] {
|
||||||
let ratio = new_side as f32 / (2.0f32 * old_side as f32);
|
let ratio = new_side as f32 / (2.0 * old_side as f32);
|
||||||
|
|
||||||
let d = corner_points[0] - corner_points[2];
|
let d = corner_points[0] - corner_points[2];
|
||||||
let middle = corner_points[0].middle(corner_points[2]);
|
let middle = corner_points[0].middle(corner_points[2]);
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ fn generateCheckWords(bitArray: &BitArray, totalBits: usize, wordSize: usize) ->
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn bitsToWords(stuffedBits: &BitArray, wordSize: usize, totalWords: usize) -> Vec<i32> {
|
fn bitsToWords(stuffedBits: &BitArray, wordSize: usize, totalWords: usize) -> Vec<i32> {
|
||||||
let mut message = vec![0i32; totalWords];
|
let mut message = vec![0; totalWords];
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
let n = stuffedBits.getSize() / wordSize;
|
let n = stuffedBits.getSize() / wordSize;
|
||||||
while i < n {
|
while i < n {
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ impl HighLevelEncoder {
|
|||||||
// shown
|
// shown
|
||||||
pub const SHIFT_TABLE: [[i32; 6]; 6] = {
|
pub const SHIFT_TABLE: [[i32; 6]; 6] = {
|
||||||
// mode shift codes, per table
|
// mode shift codes, per table
|
||||||
let mut shift_table = [[-1i32; 6]; 6];
|
let mut shift_table = [[-1; 6]; 6];
|
||||||
|
|
||||||
shift_table[Self::MODE_UPPER][Self::MODE_PUNCT] = 0;
|
shift_table[Self::MODE_UPPER][Self::MODE_PUNCT] = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -40,11 +40,11 @@ use super::{maybe_append_multiple, maybe_append_string, ParsedRXingResult, Parse
|
|||||||
// const RFC2445_DURATION: &'static str =
|
// const RFC2445_DURATION: &'static str =
|
||||||
// "P(?:(\\d+)W)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)S)?)?";
|
// "P(?:(\\d+)W)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)S)?)?";
|
||||||
const RFC2445_DURATION_FIELD_UNITS: [i64; 5] = [
|
const RFC2445_DURATION_FIELD_UNITS: [i64; 5] = [
|
||||||
7 * 24 * 60 * 60 * 1000i64, // 1 week
|
7 * 24 * 60 * 60 * 1000, // 1 week
|
||||||
24 * 60 * 60 * 1000i64, // 1 day
|
24 * 60 * 60 * 1000, // 1 day
|
||||||
60 * 60 * 1000i64, // 1 hour
|
60 * 60 * 1000, // 1 hour
|
||||||
60 * 1000i64, // 1 minute
|
60 * 1000, // 1 minute
|
||||||
1000i64, // 1 second
|
1000, // 1 second
|
||||||
];
|
];
|
||||||
|
|
||||||
static DATE_TIME: Lazy<Regex> = Lazy::new(|| Regex::new("[0-9]{8}(T[0-9]{6}Z?)?").unwrap());
|
static DATE_TIME: Lazy<Regex> = Lazy::new(|| Regex::new("[0-9]{8}(T[0-9]{6}Z?)?").unwrap());
|
||||||
@@ -114,8 +114,8 @@ impl CalendarParsedRXingResult {
|
|||||||
let start = Self::parseDate(startString.clone())?;
|
let start = Self::parseDate(startString.clone())?;
|
||||||
let end = if endString.is_empty() {
|
let end = if endString.is_empty() {
|
||||||
let durationMS = Self::parseDurationMS(&durationString)?;
|
let durationMS = Self::parseDurationMS(&durationString)?;
|
||||||
if durationMS < 0i64 {
|
if durationMS < 0 {
|
||||||
-1i64
|
-1
|
||||||
} else {
|
} else {
|
||||||
start + (durationMS / 1000)
|
start + (durationMS / 1000)
|
||||||
}
|
}
|
||||||
@@ -240,7 +240,7 @@ impl CalendarParsedRXingResult {
|
|||||||
}
|
}
|
||||||
// let regex = Regex::new(RFC2445_DURATION).unwrap();
|
// let regex = Regex::new(RFC2445_DURATION).unwrap();
|
||||||
if let Some(m) = RFC2445_DURATION.captures(durationString) {
|
if let Some(m) = RFC2445_DURATION.captures(durationString) {
|
||||||
let mut durationMS = 0i64;
|
let mut durationMS: i64 = 0;
|
||||||
for (i, unit) in RFC2445_DURATION_FIELD_UNITS.iter().enumerate() {
|
for (i, unit) in RFC2445_DURATION_FIELD_UNITS.iter().enumerate() {
|
||||||
// for i in 0..RFC2445_DURATION_FIELD_UNITS.len() {
|
// for i in 0..RFC2445_DURATION_FIELD_UNITS.len() {
|
||||||
// for (int i = 0; i < RFC2445_DURATION_FIELD_UNITS.length; i++) {
|
// for (int i = 0; i < RFC2445_DURATION_FIELD_UNITS.length; i++) {
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ fn doTest(
|
|||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
endString,
|
endString,
|
||||||
if calRXingResult.getEndTimestamp() < 0i64 {
|
if calRXingResult.getEndTimestamp() < 0 {
|
||||||
String::default()
|
String::default()
|
||||||
} else {
|
} else {
|
||||||
format_date_string(calRXingResult.getEndTimestamp(), dateFormat)
|
format_date_string(calRXingResult.getEndTimestamp(), dateFormat)
|
||||||
|
|||||||
@@ -29,9 +29,7 @@ static EPSILON: f32 = 1.0E-4f32;
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_square_to_quadrilateral() {
|
fn test_square_to_quadrilateral() {
|
||||||
let pt = PerspectiveTransform::squareToQuadrilateral(
|
let pt = PerspectiveTransform::squareToQuadrilateral(2.0, 3.0, 10.0, 4.0, 16.0, 15.0, 4.0, 9.0);
|
||||||
2.0f32, 3.0f32, 10.0, 4.0, 16.0, 15.0, 4.0, 9.0,
|
|
||||||
);
|
|
||||||
assert_point_equals(2.0, 3.0, 0.0, 0.0, &pt);
|
assert_point_equals(2.0, 3.0, 0.0, 0.0, &pt);
|
||||||
assert_point_equals(10.0, 4.0, 1.0, 0.0, &pt);
|
assert_point_equals(10.0, 4.0, 1.0, 0.0, &pt);
|
||||||
assert_point_equals(4.0, 9.0, 0.0, 1.0, &pt);
|
assert_point_equals(4.0, 9.0, 0.0, 1.0, &pt);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ use std::{cmp, fmt};
|
|||||||
use crate::common::Result;
|
use crate::common::Result;
|
||||||
use crate::Exceptions;
|
use crate::Exceptions;
|
||||||
|
|
||||||
static LOAD_FACTOR: f32 = 0.75f32;
|
static LOAD_FACTOR: f32 = 0.75;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>A simple, fast array of bits, represented compactly by an array of ints internally.</p>
|
* <p>A simple, fast array of bits, represented compactly by an array of ints internally.</p>
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ impl<'a> WhiteRectangleDetector<'_> {
|
|||||||
let ti = t.x;
|
let ti = t.x;
|
||||||
let tj = t.y;
|
let tj = t.y;
|
||||||
|
|
||||||
if yi < self.width as f32 / 2.0f32 {
|
if yi < self.width as f32 / 2.0 {
|
||||||
[
|
[
|
||||||
point(ti - CORR as f32, tj + CORR as f32),
|
point(ti - CORR as f32, tj + CORR as f32),
|
||||||
point(zi + CORR as f32, zj + CORR as f32),
|
point(zi + CORR as f32, zj + CORR as f32),
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ impl GlobalHistogramBinarizer {
|
|||||||
|
|
||||||
// Find a valley between them that is low and closer to the white peak.
|
// Find a valley between them that is low and closer to the white peak.
|
||||||
let mut bestValley = secondPeak - 1;
|
let mut bestValley = secondPeak - 1;
|
||||||
let mut bestValleyScore = -1i32;
|
let mut bestValleyScore = -1;
|
||||||
let mut x = secondPeak;
|
let mut x = secondPeak;
|
||||||
while x > firstPeak {
|
while x > firstPeak {
|
||||||
// for (int x = secondPeak - 1; x > firstPeak; x--) {
|
// for (int x = secondPeak - 1; x > firstPeak; x--) {
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ impl HybridBinarizer {
|
|||||||
}
|
}
|
||||||
let left = Self::cap(x, sub_width - 3);
|
let left = Self::cap(x, sub_width - 3);
|
||||||
let mut sum = 0;
|
let mut sum = 0;
|
||||||
for z in -2i32..=2 {
|
for z in -2..=2 {
|
||||||
// for (int z = -2; z <= 2; z++) {
|
// for (int z = -2; z <= 2; z++) {
|
||||||
let blackRow = &black_points[(top as i32 + z) as usize];
|
let blackRow = &black_points[(top as i32 + z) as usize];
|
||||||
sum += blackRow[(left - 2) as usize]
|
sum += blackRow[(left - 2) as usize]
|
||||||
@@ -255,7 +255,7 @@ impl HybridBinarizer {
|
|||||||
if xoffset > maxXOffset as u32 {
|
if xoffset > maxXOffset as u32 {
|
||||||
xoffset = maxXOffset as u32;
|
xoffset = maxXOffset as u32;
|
||||||
}
|
}
|
||||||
let mut sum = 0u32;
|
let mut sum: u32 = 0;
|
||||||
let mut min = 0xff;
|
let mut min = 0xff;
|
||||||
let mut max = 0;
|
let mut max = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -133,19 +133,9 @@ impl PerspectiveTransform {
|
|||||||
) -> Self {
|
) -> Self {
|
||||||
let dx3 = x0 - x1 + x2 - x3;
|
let dx3 = x0 - x1 + x2 - x3;
|
||||||
let dy3 = y0 - y1 + y2 - y3;
|
let dy3 = y0 - y1 + y2 - y3;
|
||||||
if dx3 == 0.0f32 && dy3 == 0.0f32 {
|
if dx3 == 0.0 && dy3 == 0.0 {
|
||||||
// Affine
|
// Affine
|
||||||
PerspectiveTransform::new(
|
PerspectiveTransform::new(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0.0, 0.0, 1.0)
|
||||||
x1 - x0,
|
|
||||||
x2 - x1,
|
|
||||||
x0,
|
|
||||||
y1 - y0,
|
|
||||||
y2 - y1,
|
|
||||||
y0,
|
|
||||||
0.0f32,
|
|
||||||
0.0f32,
|
|
||||||
1.0f32,
|
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
let dx1 = x1 - x2;
|
let dx1 = x1 - x2;
|
||||||
let dx2 = x3 - x2;
|
let dx2 = x3 - x2;
|
||||||
@@ -163,7 +153,7 @@ impl PerspectiveTransform {
|
|||||||
y0,
|
y0,
|
||||||
a13,
|
a13,
|
||||||
a23,
|
a23,
|
||||||
1.0f32,
|
1.0,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ pub(crate) fn corrupt(
|
|||||||
) {
|
) {
|
||||||
let mut corrupted = vec![false; received.len()];
|
let mut corrupted = vec![false; received.len()];
|
||||||
//BitSet corrupted = new BitSet(received.length);
|
//BitSet corrupted = new BitSet(received.length);
|
||||||
let mut j = 0isize;
|
let mut j: isize = 0;
|
||||||
while j < howMany as isize {
|
while j < howMany as isize {
|
||||||
// for (int j = 0; j < howMany; j++) {
|
// for (int j = 0; j < howMany; j++) {
|
||||||
let location: usize = random.gen_range(0..received.len());
|
let location: usize = random.gen_range(0..received.len());
|
||||||
@@ -477,7 +477,7 @@ fn test_decoder(field: GenericGFRef, dataWords: &Vec<i32>, ecWords: &Vec<i32>) {
|
|||||||
};
|
};
|
||||||
for _j in 0..iterations {
|
for _j in 0..iterations {
|
||||||
//for (int j = 0; j < iterations; j++) {
|
//for (int j = 0; j < iterations; j++) {
|
||||||
let mut i = 0isize;
|
let mut i: isize = 0;
|
||||||
while i < ecWords.len() as isize {
|
while i < ecWords.len() as isize {
|
||||||
//for (int i = 0; i < ecWords.length; i++) {
|
//for (int i = 0; i < ecWords.length; i++) {
|
||||||
if i > 10 && i < ecWords.len() as isize / 2 - 10 {
|
if i > 10 && i < ecWords.len() as isize / 2 - 10 {
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ impl Decoder {
|
|||||||
fn correctErrors(&self, codewordBytes: &mut [u8], numDataCodewords: u32) -> Result<()> {
|
fn correctErrors(&self, codewordBytes: &mut [u8], numDataCodewords: u32) -> Result<()> {
|
||||||
let _numCodewords = codewordBytes.len();
|
let _numCodewords = codewordBytes.len();
|
||||||
// First read into an array of ints
|
// First read into an array of ints
|
||||||
// let codewordsInts = vec![0i32;numCodewords];
|
// let codewordsInts = vec![0;numCodewords];
|
||||||
// for i in 0..numCodewords {
|
// for i in 0..numCodewords {
|
||||||
// // for (int i = 0; i < numCodewords; i++) {
|
// // for (int i = 0; i < numCodewords; i++) {
|
||||||
// codewordsInts[i] = codewordBytes[i];
|
// codewordsInts[i] = codewordBytes[i];
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ fn addEdges(
|
|||||||
|
|
||||||
//We create 4 EDF edges, with 1, 2 3 or 4 characters length. The fourth normally doesn't have a latch to ASCII
|
//We create 4 EDF edges, with 1, 2 3 or 4 characters length. The fourth normally doesn't have a latch to ASCII
|
||||||
//unless it is 2 characters away from the end of the input.
|
//unless it is 2 characters away from the end of the input.
|
||||||
let mut i = 0u32;
|
let mut i: u32 = 0;
|
||||||
while i < 3 {
|
while i < 3 {
|
||||||
// for (i = 0; i < 3; i++) {
|
// for (i = 0; i < 3; i++) {
|
||||||
let pos = from + i;
|
let pos = from + i;
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ fn getBit(bit: u8, bytes: &[u8]) -> u8 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn getInt(bytes: &[u8], x: &[u8]) -> u32 {
|
fn getInt(bytes: &[u8], x: &[u8]) -> u32 {
|
||||||
let mut val = 0u32;
|
let mut val: u32 = 0;
|
||||||
for i in 0..x.len() {
|
for i in 0..x.len() {
|
||||||
// for (int i = 0; i < x.length; i++) {
|
// for (int i = 0; i < x.length; i++) {
|
||||||
val += (getBit(x[i], bytes) as u32) << ((x.len() - i - 1) as u32);
|
val += (getBit(x[i], bytes) as u32) << ((x.len() - i - 1) as u32);
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ fn correctErrors(
|
|||||||
let divisor = if mode == ALL { 1 } else { 2 };
|
let divisor = if mode == ALL { 1 } else { 2 };
|
||||||
|
|
||||||
// First read into an array of ints
|
// First read into an array of ints
|
||||||
let mut codewordsInts = vec![0i32; (codewords / divisor) as usize];
|
let mut codewordsInts = vec![0; (codewords / divisor) as usize];
|
||||||
for i in 0..codewords {
|
for i in 0..codewords {
|
||||||
if (mode == ALL) || (i % 2 == (mode - 1)) {
|
if (mode == ALL) || (i % 2 == (mode - 1)) {
|
||||||
codewordsInts[(i / divisor) as usize] = codewordBytes[(i + start) as usize] as i32;
|
codewordsInts[(i / divisor) as usize] = codewordBytes[(i + start) as usize] as i32;
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ impl OneDReader for CodaBarReader {
|
|||||||
// Look for whitespace after pattern:
|
// Look for whitespace after pattern:
|
||||||
let trailingWhitespace = self.counters[nextStart - 1];
|
let trailingWhitespace = self.counters[nextStart - 1];
|
||||||
let mut lastPatternSize = 0;
|
let mut lastPatternSize = 0;
|
||||||
for i in -8isize..-1 {
|
for i in -8..-1 {
|
||||||
lastPatternSize += self.counters[(nextStart as isize + i) as usize];
|
lastPatternSize += self.counters[(nextStart as isize + i) as usize];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,7 +283,7 @@ impl CodaBarReader {
|
|||||||
.nth(i)
|
.nth(i)
|
||||||
.ok_or(Exceptions::indexOutOfBounds)?
|
.ok_or(Exceptions::indexOutOfBounds)?
|
||||||
as usize];
|
as usize];
|
||||||
for j in (0usize..=6).rev() {
|
for j in (0..=6).rev() {
|
||||||
// Even j = bars, while odd j = spaces. Categories 2 and 3 are for
|
// Even j = bars, while odd j = spaces. Categories 2 and 3 are for
|
||||||
// long stripes, while 0 and 1 are for short stripes.
|
// long stripes, while 0 and 1 are for short stripes.
|
||||||
let category = (j & 1) + ((pattern as usize) & 1) * 2;
|
let category = (j & 1) + ((pattern as usize) & 1) * 2;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ fn testBitsDiffering() {
|
|||||||
assert_eq!(0, FormatInformation::numBitsDiffering(1, 1));
|
assert_eq!(0, FormatInformation::numBitsDiffering(1, 1));
|
||||||
assert_eq!(1, FormatInformation::numBitsDiffering(0, 2));
|
assert_eq!(1, FormatInformation::numBitsDiffering(0, 2));
|
||||||
assert_eq!(2, FormatInformation::numBitsDiffering(1, 2));
|
assert_eq!(2, FormatInformation::numBitsDiffering(1, 2));
|
||||||
assert_eq!(32, FormatInformation::numBitsDiffering(-1i32 as u32, 0));
|
assert_eq!(32, FormatInformation::numBitsDiffering(u32::MAX, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ pub fn decode(
|
|||||||
let mut bits = BitSource::new(bytes.to_owned());
|
let mut bits = BitSource::new(bytes.to_owned());
|
||||||
let mut result = String::with_capacity(50);
|
let mut result = String::with_capacity(50);
|
||||||
let mut byteSegments = vec![vec![0u8; 0]; 0];
|
let mut byteSegments = vec![vec![0u8; 0]; 0];
|
||||||
let mut symbolSequence = -1i32;
|
let mut symbolSequence = -1;
|
||||||
let mut parityData = -1i32;
|
let mut parityData = -1;
|
||||||
|
|
||||||
let mut currentCharacterSetECI = None;
|
let mut currentCharacterSetECI = None;
|
||||||
let mut fc1InEffect = false;
|
let mut fc1InEffect = false;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use crate::common::BitArray;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
fn getUnsignedInt(v: &BitArray) -> u64 {
|
fn getUnsignedInt(v: &BitArray) -> u64 {
|
||||||
let mut result = 0u64;
|
let mut result: u64 = 0;
|
||||||
const OFFSET: usize = 0;
|
const OFFSET: usize = 0;
|
||||||
for i in 0..32 {
|
for i in 0..32 {
|
||||||
// for (int i = 0, offset = 0; i < 32; i++) {
|
// for (int i = 0, offset = 0; i < 32; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user