1 unstable release

Uses new Rust 2024

new 0.1.0 Mar 19, 2025

#1458 in Algorithms

MIT license

17KB
327 lines

Ternary logic

Compute "ternary logic" using an 8-entry lookup table.

For each bit, the expression will be computed as:

a b c lut
0 0 0 lut & (1 << 0) != 0
0 0 1 lut & (1 << 1) != 0
0 1 0 lut & (1 << 2) != 0
0 1 1 lut & (1 << 3) != 0
1 0 0 lut & (1 << 4) != 0
1 0 1 lut & (1 << 5) != 0
1 1 0 lut & (1 << 6) != 0
1 1 1 lut & (1 << 7) != 0

Example

// if sprite_mask { background } else { sprite }
background.ternlog(sprite, sprite_mask, 0xe4)

No runtime deps