RosettaCodeData/Task/Ternary-logic/JavaScript/ternary-logic-4.js

16 lines
635 B
JavaScript
Raw Permalink Normal View History

2024-07-13 15:19:22 -07:00
trit = [false, undefined, true]
2023-07-01 11:58:00 -04:00
functor = {nand, and, or, nor, implies, iff, xor}
2024-07-13 15:19:22 -07:00
display = {nand: '⊼', and: '∧', or: '', nor: '⊽', implies: '→', iff: '↔', xor: '⊻', not: '¬', false: 'F', undefined: '?', true: 'T'}
2023-07-01 11:58:00 -04:00
log = 'NOT\n';
2024-07-13 15:19:22 -07:00
for (let a of trit) log += `${display.not}${display[a]} = ${display[not(a)]}\n`
2023-07-01 11:58:00 -04:00
2024-07-13 15:19:22 -07:00
log += '\nNAND AND OR NOR IMPLIES IFF XOR'
for (let a of trit) {
for (let b of trit) {
2023-07-01 11:58:00 -04:00
log += "\n"
2024-07-13 15:19:22 -07:00
for (let op in functor) log += `${display[a]} ${display[op]} ${display[b]} = ${display[functor[op](a, b)]} `
2023-07-01 11:58:00 -04:00
}
}
console.log(log)