1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-04 00:54:07 +02:00

use unchecked type conversions

this is safe because we already checked their bit size
This commit is contained in:
Robin Appelman 2019-03-03 01:42:56 +01:00
commit bd012039d0
6 changed files with 209 additions and 18 deletions

View file

@ -1,11 +1,17 @@
use bitstream_reader::{BigEndian, BitBuffer, BitRead, BitStream, LittleEndian};
use maplit::hashmap;
use std::collections::HashMap;
//#![feature(test)]
// for bench on nightly
//extern crate test;
use std::collections::HashMap;
// for bench on nightly
//use std::fs;
//use test::Bencher;
use maplit::hashmap;
use bitstream_reader::{BigEndian, BitBuffer, BitRead, BitStream, LittleEndian};
const BYTES: &'static [u8] = &[
0b1011_0101,
0b0110_1010,
@ -372,7 +378,7 @@ fn test_read_struct() {
// 0b1110_0111,
// for bench on nightly
//fn read_perf<P: IsPadded>(buffer: BitBuffer<LittleEndian, P>) -> u16 {
//fn read_perf(buffer: &BitBuffer<LittleEndian>) -> u16 {
// let size = 5;
// let mut pos = 0;
// let len = buffer.bit_len();
@ -386,6 +392,7 @@ fn test_read_struct() {
// pos += size;
// }
//}
//
//#[bench]
//fn perf_padded(b: &mut Bencher) {
@ -404,10 +411,9 @@ fn test_read_struct() {
//#[bench]
//fn perf_non_padded(b: &mut Bencher) {
// let file = fs::read("/bulk/tmp/test.dem").expect("Unable to read file");
// let bytes = file.as_slice();
// let buffer = BitBuffer::new(file, LittleEndian);
// b.iter(|| {
// let buffer = BitBuffer::new(&bytes, LittleEndian);
// let data = read_perf(buffer);
// let data = read_perf(&buffer);
// assert_eq!(data, 43943);
// test::black_box(data);
// });