ctoolbox/formats/eite/util/logic.rs
1// ---------------
2// Booleans (logic gates)
3// ---------------
4
5pub fn or(a: bool, b: bool) -> bool {
6 a || b
7}
8pub fn nor(a: bool, b: bool) -> bool {
9 !(a || b)
10}
11pub fn nand(a: bool, b: bool) -> bool {
12 !(a && b)
13}
14pub fn xor(a: bool, b: bool) -> bool {
15 (a || b) && !(a && b)
16}
17pub fn xnor(a: bool, b: bool) -> bool {
18 !xor(a, b)
19}
20pub fn is_true(v: bool) -> bool {
21 v
22}
23pub fn is_false(v: bool) -> bool {
24 !v
25}