[][src]Function fraction::generic::read_generic_integer

pub fn read_generic_integer<T, F>(val: F) -> Option<(Sign, T)> where
    F: GenericInteger + PartialOrd,
    T: GenericInteger

Builds integer of type T from another integer of type F in a generic way

Allows safe runtime conversions between integer types when it's not possible statically. E.g: i8 -> u8, u8 -> i8, usize -> u8 or even BigUint -> u8 and so on.

Examples

use fraction::{Sign, generic::read_generic_integer};

assert_eq!((Sign::Plus, 127i8), read_generic_integer(127u8).unwrap());
assert_eq!((Sign::Minus, 128u8), read_generic_integer(-128i8).unwrap());
assert_eq!((Sign::Minus, 255u8), read_generic_integer(-255isize).unwrap());