IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /docs/manual/basics.md). For the complete Mojo documentation index, see llms.txt.
Skip to main content
Version: 1.0.0b1
For the complete Mojo documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /docs/manual/basics.md).

CeilDivableRaising

The CeilDivable trait describes a type that define a floor division and negation operation that can raise.

Types that conform to CeilDivableRaising will work with the // operator as well as the math.ceildiv function.

For example:

from std.math import CeilDivableRaising

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

def __ceildiv__(self, denominator: Self) raises -> 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.

Raises:

If the operation fails.