hayro-syntax 0.9.0

A low-level crate for reading PDF files.
Documentation
// Note that these polyfills can be very imprecise, but hopefully good enough
// for the vast majority of cases.

#[inline(always)]
pub(crate) fn powi_f64(x: f64, n: u32) -> f64 {
    #[cfg(feature = "std")]
    {
        x.powi(n as i32)
    }
    #[cfg(not(feature = "std"))]
    {
        let mut result = 1.0;
        let mut base = x;
        let mut exp = n;
        while exp > 0 {
            if exp & 1 == 1 {
                result *= base;
            }
            base *= base;
            exp >>= 1;
        }
        result
    }
}