diff --git a/src/lib.rs b/src/lib.rs index 9c44932..143b3b4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -61,7 +61,11 @@ impl From for u8 { return 0; } let (m, e) = value.split_unbias(); - if e >= 0 { m << e } else { m >> -e } + match e { + 0.. => m << e, + -7..0 => m >> -e, + ..-7 => 0, + } } }