Crate divrem[][src]

Division and modulus traits and implementations.

There exist many possible definitions of the division and modulus functions, each with different properties. Probably the most common in computer science is truncated division (rounding towards zero) since it is the one provided by most processors and defined as the / (and matching %) operator in the ISO C99 standard.

This crate provides other definitions:

  • Floored division (rounding towards negative infinity)
  • Ceiled division (rounding towards positive infinity)
  • Euclidean division (sign of modulus is always positive)

For every definition, we provide a Div, a Rem and a DivRem variant.

A DivRem variant of the truncated division is also provided for convenience since it does not exist in the standard library.

Traits

DivCeil

Ceiled division.

DivEuclid

Euclidean division.

DivFloor

Floored division.

DivRem

Truncated division and remainder.

DivRemCeil

Ceiled division and remainder.

DivRemEuclid

Euclidean division and remainder.

DivRemFloor

Floored division and remainder.

RemCeil

Ceiled division remainder.

RemEuclid

Euclidean remainder.

RemFloor

Floored division remainder.