Skip to content

Commit

Permalink
Start adding operators for Real and Num.
Browse files Browse the repository at this point in the history
  • Loading branch information
colomon committed Apr 5, 2010
1 parent c9db3d6 commit c638c55
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/core/Real.pm
Expand Up @@ -12,3 +12,35 @@ role Real does Numeric {
!! (self ~~ NaN ?? NaN !! self <=> 0);
}
}

multi sub infix:«<=>»(Real $a, Real $b) {
$a.Bridge <=> $b.Bridge;
}

multi sub infix:«<=>»(Num $a, Num $b) {
$a cmp $b;
}

multi sub infix<»(Real $a, Real $b) {
$a.Bridge < $b.Bridge;
}

multi sub infix<»(Num $a, Num $b) {
pir::islt__INN( $a, $b) ?? True !! False
}

multi sub prefix:<->(Real $a) {
-($a.Bridge);
}

multi sub prefix:<->(Num $a) {
pir::neg__NN($a);
}

multi sub infix:<->(Real $a, Real $b) {
$a.Bridge - $b.Bridge;
}

multi sub infix:<->(Num $a, Num $b) {
pir::sub__NNN($a, $b)
}

0 comments on commit c638c55

Please sign in to comment.