Macro specialized_div_rem::impl_binary_long[][src]

macro_rules! impl_binary_long {
    ($unsigned_name : ident, $signed_name : ident, $zero_div_fn : ident,
 $normalization_shift : ident, $n : tt, $uX : ident, $iX : ident,
 $($unsigned_attr : meta), * ; $($signed_attr : meta), *) => { ... };
}
Expand description

Creates unsigned and signed division functions that use binary long division, designed for computer architectures without division instructions. These functions have good performance for microarchitectures with large branch miss penalties and architectures without the ability to predicate instructions. For architectures with predicated instructions, one of the algorithms described in the documentation of these functions probably has higher performance, and a custom assembly routine should be used instead.