Trait block_grid::BlockDim[][src]

pub trait BlockDim: Clone {
    const SHIFT: usize;
    const WIDTH: usize;
    const AREA: usize;
    const MASK: usize;
    fn round_up_to_valid(rows: usize, cols: usize) -> (usize, usize) { ... }
}
Expand description

A type that represents compile time block dimensions.

Associated Constants

Number of left shifts of 1 for value.

Width and height of 2D block.

Number of elements in 2D block.

Bitmask for value.

Provided methods

Rounds up dimensions to next valid size. Returns (rows, cols).

Example
use block_grid::{BlockDim, U4};

// (3, 10) are not valid dimensions for a block size of 4
let new_valid = U4::round_up_to_valid(3, 10);
// (4, 12) are the returned valid dimensions
assert_eq!(new_valid, (4, 12));

Implementors