fn fnorm(nat: &mut Nat) -> usize {
        if nat.is_nan() {0}
        else {
            let s = nat.as_vec().last().unwrap().leading_zeros() as usize;
            if s > 0 {
                let c = unsafe {
                    shl_vu_inner(nat.as_mut_vec().as_mut_ptr(), nat.as_vec().as_ptr(), s, nat.as_vec().len())
                };
                assert_eq!(c, 0, "carry must be the 0");
            }
            s
        }
    }
/// fnorm normalizes mantissa m by shifting it to the left  
/// such that the msb of the most-significant word (msw) is 1.  
/// It returns the shift amount. It assumes that len(m) != 0.  
fnorm normalizes mantissa m by shifting it to the left
such that the msb of the most-significant word (msw) is 1.
It returns the shift amount. It assumes that len(m) != 0.
fnorm normalizes mantissa m by shifting it to the left such that the msb of the most - significant word ( msw ) is 1 . It returns the shift amount . It assumes that len ( m ) ! = 0 .
fn fnorm(nat: &mut Nat) -> usize {
        if nat.is_nan() {0}
        else {
            let s = nat.as_vec().last().unwrap().leading_zeros() as usize;
            if s > 0 {
                let c = unsafe {
                    shl_vu_inner(nat.as_mut_vec().as_mut_ptr(), nat.as_vec().as_ptr(), s, nat.as_vec().len())
                };
                assert_eq!(c, 0, "carry must be the 0");
            }
            s
        }
    }
fn fnorm ( nat : & mut Nat ) -> usize { if nat . is_nan ( ) { 0 } else { let s = nat . as_vec ( ) . last ( ) . unwrap ( ) . leading_zeros ( ) as usize ; if s > 0 { let c = unsafe { shl_vu_inner ( nat . as_mut_vec ( ) . as_mut_ptr ( ) , nat . as_vec ( ) . as_ptr ( ) , s , nat . as_vec ( ) . len ( ) ) } ; assert_eq ! ( c 0 " " ) ; } s } }
fnorm normalizes mantissa m by shifting it to the left
such that the msb of the most-significant word (msw) is 1.
fnorm normalizes mantissa m by shifting it to the left such that the msb of the most - significant word ( msw ) is 1 .
nat
&mut Nat
nat
&mut Nat