#![forbid(unsafe_code)]
pub const BITS_PER_BYTE: usize = 8;
pub const NIBBLE_BITS: usize = 4;
pub const BYTE_VALUES: usize = 256;
pub const KIBIBYTE: usize = 1024;
pub const MEBIBYTE: usize = 1024 * KIBIBYTE;
pub const GIBIBYTE: usize = 1024 * MEBIBYTE;
pub const TEBIBYTE: usize = 1024 * GIBIBYTE;
pub const KILOBYTE: usize = 1000;
pub const MEGABYTE: usize = 1000 * KILOBYTE;
pub const GIGABYTE: usize = 1000 * MEGABYTE;
pub const TERABYTE: usize = 1000 * GIGABYTE;
#[cfg(test)]
mod tests {
use super::{BITS_PER_BYTE, BYTE_VALUES, KIBIBYTE, KILOBYTE, MEBIBYTE, MEGABYTE, NIBBLE_BITS};
#[test]
fn byte_size_relationships_hold() {
assert_eq!(BYTE_VALUES, 1usize << BITS_PER_BYTE);
assert_eq!(NIBBLE_BITS * 2, BITS_PER_BYTE);
}
#[test]
fn binary_storage_relationships_hold() {
assert_eq!(MEBIBYTE, 1024 * KIBIBYTE);
}
#[test]
fn decimal_storage_relationships_hold() {
assert_eq!(MEGABYTE, 1000 * KILOBYTE);
}
}