Combined from primary sources listed below.
See primary docmentation in context for method Num.
See primary docmentation in context for method Num.
See primary docmentation in context for method Num.
multi method Num()
Coerces the invocant to a Numeric and calls its .Num method. Fails if the coercion to a Numeric cannot be done.
say 1+0i.Num; # OUTPUT: «1»
say 2e1.Num; # OUTPUT: «20»
say (16/9)².Num; # OUTPUT: «3.1604938271604937»
say (-4/3).Num; # OUTPUT: «-1.3333333333333333»
say "foo".Num.^name; # OUTPUT: «Failure»
See primary docmentation in context for method Num.
method Num(Rational:D: --> Num:D)
Coerces the invocant to Num by dividing numerator by denominator. If denominator is 0, returns Inf, -Inf, or NaN, based on whether numerator is a positive number, negative number, or 0, respectively.
See primary docmentation in context for method Num.
method Num(Str:D: --> Num:D)
Coerces the string to Num, using the same rules as Str.Numeric and handling negative zero, -0e0, and positive zero, 0e0.
my Str $s = "-0/5";
say (.self, .^name) given $s.Numeric; # OUTPUT: «(0 Rat)»
say (.self, .^name) given $s.Num; # OUTPUT: «(-0 Num)»
See primary docmentation in context for method Num.
method Num(Real:D:)
Calls the Bridge method on the invocant and then the Num method on its return value.