Skip to content

Commit cbd8344

Browse files
fix build
1 parent 5083d6c commit cbd8344

4 files changed

Lines changed: 18 additions & 15 deletions

File tree

benches/fastpfor_benchmark.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use core::ops::Range;
22
use std::hint::black_box;
33
use std::io::Cursor;
4+
use std::num::NonZeroU32;
45

56
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
67
use fastpfor::rust::{FastPFOR, Integer, BLOCK_SIZE_128, BLOCK_SIZE_256, DEFAULT_PAGE_SIZE};
@@ -93,7 +94,7 @@ fn compress_data(codec: &mut FastPFOR, data: &[u32]) -> usize {
9394
}
9495

9596
/// Helper function to compress data and return compressed buffer
96-
fn prepare_compressed_data(data: &[u32], block_size: u32) -> Vec<u32> {
97+
fn prepare_compressed_data(data: &[u32], block_size: NonZeroU32) -> Vec<u32> {
9798
let mut codec = FastPFOR::new(DEFAULT_PAGE_SIZE, block_size);
9899
let mut compressed = vec![0u32; data.len() * 2];
99100
let mut input_offset = Cursor::new(0);

src/rust/integer_compression/fastpfor.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ mod tests {
453453
fn fastpfor_test() {
454454
let mut codec1 = FastPFOR::default();
455455
let mut codec2 = FastPFOR::default();
456-
let mut data = vec![0u32; BLOCK_SIZE_256 as usize];
456+
let mut data = vec![0u32; BLOCK_SIZE_256.get() as usize];
457457
data[126] = -1i32 as u32;
458458
let mut out_buf = vec![0; data.len() * 4];
459459
let mut input_offset = Cursor::new(0);
@@ -483,7 +483,9 @@ mod tests {
483483
.unwrap();
484484
let answer = out_buf_uncomp[..output_offset.position() as usize].to_vec();
485485

486-
for k in 0..BLOCK_SIZE_256 {
486+
assert_eq!(answer.len(), BLOCK_SIZE_256.get() as usize);
487+
assert_eq!(data.len(), BLOCK_SIZE_256.get() as usize);
488+
for k in 0..BLOCK_SIZE_256.get() {
487489
assert_eq!(answer[k as usize], data[k as usize], "bug in {k}");
488490
}
489491
}
@@ -492,10 +494,7 @@ mod tests {
492494
fn fastpfor_test_128() {
493495
let mut codec1 = FastPFOR::new(DEFAULT_PAGE_SIZE, BLOCK_SIZE_128);
494496
let mut codec2 = FastPFOR::new(DEFAULT_PAGE_SIZE, BLOCK_SIZE_128);
495-
let mut data = vec![0; BLOCK_SIZE_128 as usize];
496-
for i in 0..BLOCK_SIZE_128 {
497-
data[i as usize] = 0;
498-
}
497+
let mut data = vec![0; BLOCK_SIZE_128.get() as usize];
499498
data[126] = -1i32 as u32;
500499
let mut out_buf = vec![0; data.len() * 4];
501500
let mut input_offset = Cursor::new(0);
@@ -525,7 +524,9 @@ mod tests {
525524
.unwrap();
526525
let answer = out_buf_uncomp[..output_offset.position() as usize].to_vec();
527526

528-
for k in 0..BLOCK_SIZE_128 {
527+
assert_eq!(answer.len(), BLOCK_SIZE_128.get() as usize);
528+
assert_eq!(data.len(), BLOCK_SIZE_128.get() as usize);
529+
for k in 0..BLOCK_SIZE_128.get() {
529530
assert_eq!(answer[k as usize], data[k as usize], "bug in {k}");
530531
}
531532
}

tests/basic_tests.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#![allow(clippy::needless_range_loop)]
33

44
use std::io::Cursor;
5+
use std::num::NonZeroU32;
56

67
use fastpfor::rust::{
78
fast_pack, fast_unpack, Composition, FastPFOR, Integer, VariableByte, BLOCK_SIZE_128,
@@ -381,10 +382,10 @@ fn test_random_numbers() {
381382
#[test]
382383
fn test_fastpfor_headless_compress_unfit_pagesize() {
383384
// The input size is a multiple of 128 but does not fit the page size
384-
let test_input_size = 512 + BLOCK_SIZE_128;
385-
let page_size = 512;
385+
let test_input_size = BLOCK_SIZE_128.checked_add(512).unwrap();
386+
let page_size = NonZeroU32::new(512).unwrap();
386387

387-
let input: Vec<u32> = (0..test_input_size).collect();
388+
let input: Vec<u32> = (0..test_input_size.get()).collect();
388389
let mut output: Vec<u32> = vec![0; input.len()];
389390
let mut decoded: Vec<u32> = vec![0; input.len()];
390391
let mut input_offset = Cursor::new(0u32);
@@ -419,8 +420,8 @@ fn test_fastpfor_headless_compress_unfit_pagesize() {
419420

420421
#[test]
421422
fn test_exception_value_vector_resizes() {
422-
let page_size = 512;
423-
let test_input_size = page_size * 2;
423+
let page_size = NonZeroU32::new(512).unwrap();
424+
let test_input_size = page_size.get() * 2;
424425

425426
// every even index value is large which will trigger exception buffer to be resize
426427
let input: Vec<u32> = (0..test_input_size)

tests/cpp_compat_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn test_rust_decompresses_cpp_encoded_data() {
1515
let mut codec_rs = rust::FastPFOR::new(rust::DEFAULT_PAGE_SIZE, rust::BLOCK_SIZE_128);
1616

1717
for n in test_input_sizes() {
18-
for input in get_test_cases(n + rust::BLOCK_SIZE_128 as usize) {
18+
for input in get_test_cases(n + rust::BLOCK_SIZE_128.get() as usize) {
1919
// Buffer for the C++ encoded
2020
let mut compressed_buffer = vec![0; input.len()];
2121

@@ -58,7 +58,7 @@ fn test_rust_and_cpp_fastpfor32_compression_matches() {
5858
let mut codec_rs = rust::FastPFOR::new(rust::DEFAULT_PAGE_SIZE, rust::BLOCK_SIZE_128);
5959

6060
for n in test_input_sizes() {
61-
for input in get_test_cases(n + rust::BLOCK_SIZE_128 as usize) {
61+
for input in get_test_cases(n + rust::BLOCK_SIZE_128.get() as usize) {
6262
// Buffer for the C++ encoded
6363
let mut compressed_buffer = vec![0; input.len()];
6464

0 commit comments

Comments
 (0)