viai957's picture
Add files using upload-large-folder tool
63f41a6 verified
Raw History Blame Contribute Delete
560 Bytes
pub fn tensor_len_ok(dims: &[usize], bits_per_item: usize, data_size_bytes: usize) -> bool {
let mut len = 1usize;
let mut overflow = false;
let mut i = 0usize;
while i < dims.len() {
let d = dims[i];
if d != 0 && len > usize::MAX / d {
overflow = true;
} else {
len = len * d;
}
i += 1;
}
if overflow {
return false;
}
let per = bits_per_item / 8;
if per != 0 && len > usize::MAX / per {
return false;
}
len * per == data_size_bytes
}