Skip to main content

Module space

Module space 

Source
Expand description

The logical coordinate space a tile lives in, and how a level of it splits (partition).

Modules§

swizzle

Structs§

Coords
An immutable coordinate/extent list whose expand’s IntoMut is the identity. Copying into mutable slots (as Sequence does) would erase constness.
CoordsExpand
LevelTable
A Partitioning with a name for each of its axes; unnamed axes print their index.
PlaneOrder
The order the planes of a launch take a level’s tiles in, where a plane level spans the launch rather than one cube (Levels::launch_planes): in blocks, each a box of tiles held by consecutive planes, the blocks taken in a CubeOrder over their grid.
Portion
The regions this instance touches and how much of the first and last is its own. Counted in the level below’s joint steps.
Shape
Every axis with its comptime extent, in canonical order.
UnitCube
The cubes a unit level spanning the launch groups its units in (Levels::launch_units): planes planes of plane_width units each. The units share nothing, so the cube is only how the launch groups them.

Enums§

ComputeScope
The hardware a level’s tiles can go to, ordered inner to outer.
Count
How many tiles a level takes along one of its axes.
Coverage
How a level covers its tiles.
CubeOrder
The order a cube level distributes its boxes to the grid. A swizzle width need not divide the grid; the last strip is ragged.
Spread
How a distributed axis’s tiles are handed to a scope’s instances.
UnitShare
What the plane’s units each hold of a tile’s cells once a units level is distributed.

Functions§

swizzle
Maps a linear index to 2D zigzag coordinates (x, y) within strips of num_steps steps of step_length (> 0) elements each.