9
our Int multi method Int() { self }
11
our Num multi method Num() {
18
our Rat multi method Rat() { Rat.new(self, 1); }
20
our Complex multi method Complex() { Complex.new(self, 0); }
22
our Str multi method Str() {
26
# Most of the trig functions for Int are in Any-num.pm, but
27
# sec is a special case.
28
our Num multi method sec($base = 'radians') {
32
our Complex multi method unpolar($angle) is export {
33
Complex.new(self.Num * $angle.cos("radians"), self.Num * $angle.sin("radians"));
36
our Int multi method sign() {
41
multi sub abs(Int $x) { $x.abs }
43
multi sub infix:<+>(Int $a, Int $b) {
50
%r = '!upgrade_to_num_if_needed'($N2)
54
multi sub infix:<->(Int $a, Int $b) {
61
%r = '!upgrade_to_num_if_needed'($N2)
65
multi sub infix:<*>(Int $a, Int $b) {
72
%r = '!upgrade_to_num_if_needed'($N2)
76
multi sub infix:<div>(Int $a, Int $b) {
87
multi sub infix:<%>(Int $a, Int $b) {
94
%r = '!upgrade_to_num_if_needed'($N2)
98
multi sub infix:<**>(Int $a, Int $b) {
105
%r = '!upgrade_to_num_if_needed'($N2)
109
multi sub prefix:<->(Int $a) {
114
%r = '!upgrade_to_num_if_needed'($N0)