Macro smallnum::small_signed[][src]

macro_rules! small_signed {
    ($val : expr $(,) ?) => { ... };
}
Expand description

Return smallest signed type capable of representing input value (positive, i.e. maximum, or negative, i.e. minimum).

Example

use smallnum::{small_signed, SmallSigned};
use core::mem::size_of_val;

let val_pos: isize = 5;
let small_val_pos: small_signed!(500) = 5;

assert_eq!(val_pos, small_val_pos.isize());
assert!(size_of_val(&val_pos) > size_of_val(&small_val_pos));

let val_neg: isize = -5;
let small_val_neg: small_signed!(-500) = -5;

assert_eq!(val_neg, small_val_neg.isize());
assert!(size_of_val(&val_neg) > size_of_val(&small_val_neg));