16 lines
635 B
JavaScript
16 lines
635 B
JavaScript
trit = [false, undefined, true]
|
||
functor = {nand, and, or, nor, implies, iff, xor}
|
||
display = {nand: '⊼', and: '∧', or: '∨', nor: '⊽', implies: '→', iff: '↔', xor: '⊻', not: '¬', false: 'F', undefined: '?', true: 'T'}
|
||
|
||
log = 'NOT\n';
|
||
for (let a of trit) log += `${display.not}${display[a]} = ${display[not(a)]}\n`
|
||
|
||
log += '\nNAND AND OR NOR IMPLIES IFF XOR'
|
||
for (let a of trit) {
|
||
for (let b of trit) {
|
||
log += "\n"
|
||
for (let op in functor) log += `${display[a]} ${display[op]} ${display[b]} = ${display[functor[op](a, b)]} `
|
||
}
|
||
}
|
||
console.log(log)
|