CeilDivable | Modular

Mojo trait

The CeilDivable trait describes a type that defines a ceil division operation.

Types that conform to CeilDivable will work with the math.ceildiv function.

For example:

from math import CeilDivable

@fieldwise_init
struct Foo(CeilDivable, ImplicitlyCopyable):
    var x: Float64

    fn __ceildiv__(self, denominator: Self) -> Self:
        return Self(self.x // denominator.x)

Implemented traits

AnyType

Required methods

__ceildiv__

__ceildiv__(self: _Self, denominator: _Self) -> _Self

Return the rounded-up result of dividing self by denominator.

Args:

  • denominator (_Self): The denominator.

Returns:

_Self: The ceiling of dividing numerator by denominator.