The header <kitty/algorithm.hpp> implements several generic algorithms on truth tables.


unary_operation(tt, op)

Perform bitwise unary operation on truth table.

binary_operation(first, second, op)

Perform bitwise binary operation on two truth tables.

ternary_operation(first, second, third, op)

Perform bitwise ternary operation on three truth tables.

binary_predicate(first, second, op)

Computes a predicate based on two truth tables.

assign_operation(tt, op)

Assign computed values to bits.

for_each_block(tt, op)

Iterates through each block of a truth table.

for_each_block_reversed(tt, op)

Iterates through each block of a truth table in reverse order.

for_each_one_bit(tt, op)

Iterates through each 1-bit in the truth table.