Ternary logic: Difference between revisions
Content deleted Content added
SqrtNegInf (talk | contribs) m →{{header|Perl}}: a single file of runnable code |
add RPL |
||
Line 5,659: | Line 5,659: | ||
maybe maybe ────► maybe |
maybe maybe ────► maybe |
||
</pre> |
</pre> |
||
=={{header|RPL}}== |
|||
Ternary logic can be considered as a simplified version of Zadeh's fuzzy logic. In this paradigm, boolean values turn into floating-point ones going from 0 (completely false) to 1 (completely true): |
|||
AND(a,b), OR(a,b) and NOT(a) are resp. redefined as MIN(a,b), MAX(a,b) and (1-a). Other boolean operators can then be built by combining these 3 atoms. A specific word is also needed to display results as ternary constants instead of numbers. |
|||
{{works with|Halcyon Calc|4.2.7}} |
|||
≪ 2 * CEIL 1 + { ‘FALSE’ ‘MAYBE’ ‘TRUE’ } SWAP GET ≫ ''''TELL'''’ STO |
|||
≪ OR EVAL '''TELL''' ≫ ''''TAND'''’ STO |
|||
≪ AND EVAL '''TELL''' ≫ ''''TOR'''’ STO |
|||
≪ 1 SWAP - EVAL '''TELL''' ≫ ''''TNOT'''’ STO |
|||
≪ SWAP '''TNOT TOR''' EVAL '''TELL''' ≫ ''''TIMPLY'''’ STO |
|||
≪ DUP2 '''TNOT TAND''' ROT '''TNOT''' ROT '''TAND TOR''' EVAL '''TELL''' ≫ ''''TXOR'''’ STO |
|||
FALSE MAYBE '''TXOR''' |
|||
1: ‘TRUE’ |
|||
Only the Soviets could understand such a logic... |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |