Faster remainder by direct computation: Applications to compilers and software libraries

@article{Lemire2019FasterRB,
  title={Faster remainder by direct computation: Applications to compilers and software libraries},
  author={D. Lemire and Owen Kaser and N. Kurz},
  journal={Software: Practice and Experience},
  year={2019},
  volume={49},
  pages={953 - 970}
}
  • D. Lemire, Owen Kaser, N. Kurz
  • Published 2019
  • Computer Science, Mathematics
  • Software: Practice and Experience
  • On common processors, integer multiplication is many times faster than integer division. Dividing a numerator n by a divisor d is mathematically equivalent to multiplication by the inverse of the divisor (n/d=n∗1/d). If the divisor is known in advance, or if repeated integer divisions will be performed with the same divisor, it can be beneficial to substitute a less costly multiplication for an expensive division. Currently, the remainder of the division by a constant is computed from the… CONTINUE READING
    6 Citations
    Integer Division by Constants: Optimal Bounds
    • PDF
    A 32-bit Integer Division Algorithm Based on Priority Encoder
    Euclidean Affine Functions and Applications to Calendar Algorithms
    • PDF
    A Constant Time Full Hardware Implementation of Streamlined NTRU Prime
    • PDF
    c-Trie++: A Dynamic Trie Tailored for Fast Prefix Searches
    • 3
    • PDF
    Number Parsing at a Gigabyte per Second
    • PDF

    References

    SHOWING 1-10 OF 19 REFERENCES
    Efficient Algorithms for Integer Division by Constants Using Multiplication
    • 7
    • PDF
    Improved Division by Invariant Integers
    • 44
    • PDF
    Hardware Division by Small Integer Constants
    • 11
    • PDF
    Division by invariant integers using multiplication
    • 112
    • PDF
    Efficient and formally proven reduction of large integers by small moduli
    • 3
    • PDF
    Constant-division algorithms
    • 12
    A Combinatoric Division Algorithm for Fixed-Integer Divisors
    • 14
    Special Cases of Division
    • 3
    IBM POWER8 processor core microarchitecture
    • 106
    • PDF
    Hacker's Delight
    • 356
    • PDF