Tropical algebra overloading: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Raku}}: test relative precedence of ↑ and ⊕) |
Thundergnat (talk | contribs) m (→{{header|Raku}}: add constraint) |
||
Line 604: | Line 604: | ||
No need to overload, define our own operators with whatever precedence level we want. Here we're setting precedence equivalent to existing operators. |
No need to overload, define our own operators with whatever precedence level we want. Here we're setting precedence equivalent to existing operators. |
||
<lang perl6>sub infix:<⊕> (Real $a, Real $b) is equiv(&[+]) |
<lang perl6>sub infix:<⊕> (Real $a, Real $b) is equiv(&[+]) { $a max $b } |
||
sub infix:<⊗> (Real $a, Real $b) is equiv(&[×]) |
sub infix:<⊗> (Real $a, Real $b) is equiv(&[×]) { $a + $b } |
||
sub infix:<↑> (Real $a, Int $b) is equiv(&[**]) { [⊗] $a xx $b } |
sub infix:<↑> (Real $a, Int $b where * ≥ 0) is equiv(&[**]) { [⊗] $a xx $b } |
||
use Test; |
use Test; |