#logic #ternlog #0xe4

ternlog

Ternary logic operations on integer types

1 unstable release

Uses new Rust 2024

0.1.0 Mar 19, 2025

#715 in Algorithms

Download history 86/week @ 2025-03-14 40/week @ 2025-03-21 1/week @ 2025-03-28

127 downloads per month

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