1 unstable release
Uses new Rust 2024
new 0.1.0 | Mar 19, 2025 |
---|
#1458 in Algorithms
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)