Tropical algebra overloading: Difference between revisions

Content added Content deleted
m (Added language identifier.)
(→‎{{header|RPL}: add header + format)
Line 1,011: Line 1,011:
</pre>
</pre>


=={{header|REXX}}==
RPL does not support operator overloading so we need to use functions instead. As all stack-driven languages, RPL requires the user to deal with operator precedence.
RPL does not support operator overloading so we need to use functions instead. As all stack-driven languages, RPL requires the user to deal with operator precedence.
MAXR EVAL ''''Inf'''' STO
MAXR EVAL '<span style="color:green>Inf</span>' STO
≪ 1 3 '''START''' ROT EVAL '''NEXT'''
≪ 1 3 '''START''' ROT EVAL '''NEXT'''
'''IF''' DUP ABS '''Inf''' == '''THEN''' SIGN ''''Inf'''' * '''END'''
'''IF''' DUP ABS <span style="color:green>Inf</span> == '''THEN''' SIGN '<span style="color:green>Inf</span>' * '''END'''
≫ ‘'''TropOp'''’ STO
≫ ‘<span style="color:blue>TropOp</span>’ STO
≪ ≪ MAX ≫ '''TropOp''' ≫ ‘'''TPLUS'''’ STO
≪ ≪ MAX ≫ <span style="color:blue>TropOp</span> ≫ ‘<span style="color:blue>TPLUS</span>’ STO
≪ ≪ + ≫ '''TropOp''' ≫ ‘'''TMULT'''’ STO
≪ ≪ + ≫ <span style="color:blue>TropOp</span> ≫ ‘<span style="color:blue>TMULT</span>’ STO
≪ ≪ * ≫ '''TropOp''' ≫ ‘'''TPOWR'''’ STO
≪ ≪ * ≫ <span style="color:blue>TropOp</span> ≫ ‘<span style="color:blue>TPOWR</span>’ STO


2 -2 '''TMULT'''
2 -2 <span style="color:blue>TMULT</span>
-0.001 '-'''Inf'''' '''TPLUS'''
-0.001 -<span style="color:green>Inf</span> <span style="color:blue>TPLUS</span>
0 -<span style="color:green>Inf</span> <span style="color:blue>TMULT</span>
0 '-'''Inf'''' '''TMULT'''
1.5 -1 '''TPLUS'''
1.5 -1 <span style="color:blue>TPLUS</span>
0.5 0 '''TMULT'''
0.5 0 <span style="color:blue>TMULT</span>
5 7 <span style="color:blue>TPOWR</span>
8 7 '''TPLUS''' 5 '''TMULT'''
8 7 <span style="color:blue>TPLUS</span> 5 <span style="color:blue>TMULT</span>
5 8 '''TMULT''' 5 7 '''TMULT TPLUS'''
5 8 <span style="color:blue>TMULT</span> 5 7 <span style="color:blue>TMULT</span> <span style="color:blue>TPLUS</span>


{{out}}
{{out}}
<pre>
<pre>
7: 0
8: 0
6: -0.001
7: -0.001
5: '-Inf'
6: '-Inf'
4: 1.5
5: 1.5
3: -0.5
4: -0.5
3: 35
2: 13
2: 13
1: 13
1: 13