macro_rules! impl_trifecta {
    (
        $fn:ident, // name of the unsigned division function
        $zero_div_fn:ident, // function called when division by zero is attempted
        $half_division:ident, // function for division of a $uX by a $uX
        $n_h:expr, // the number of bits in $iH or $uH
        $uH:ident, // unsigned integer with half the bit width of $uX
        $uX:ident, // unsigned integer with half the bit width of $uD
        $uD:ident // unsigned integer type for the inputs and outputs of `$unsigned_name`
    ) => { ... };
}
Expand description

Creates an unsigned division function optimized for division of integers with bitwidths larger than the largest hardware integer division supported. These functions use large radix division algorithms that require both fast division and very fast widening multiplication on the target microarchitecture. Otherwise, impl_delegate should be used instead.