perl6/doc/lib/Numeric

doc src
(title) role Numeric
    role Numeric { ... }

 
Common role for numbers and types that can act as numbers. Binary numeric operations return an object of the "wider" type:
    Int         narrowest
    Rat
    FatRat
    Num
    Complex     widest

 
So for example the product of a L<Rat> and an L<Int> return a L<Rat>. Unary operations that in pure math usually return an irrational number generally return L<Num> in Perl 6.

Methods

(head2) Real
    method Real(Numeric:D:) returns Real:D

 
If this Numeric is equivalent to a Real , return that Real . Fail with X::Numeric::Real otherwise.
(head2) Int
    method Int(Numeric:D:) returns Int:D

 
If this Numeric is equivalent to a Real , return the equivalent of calling truncate on that Real to get an Int . Fail with X::Numeric::Real otherwise.
(head2) Rat
    method Rat(Numeric:D: Real $epsilon = 1.0e-6) returns Rat:D

 
If this Numeric is equivalent to a Real , return a Rat which is within $epsilon of that Real 's value. Fail with X::Numeric::Real otherwise.
(head2) Num
    method Num(Numeric:D:) returns Num:D

 
If this Numeric is equivalent to a Real , return that Real as a Num as accurately as is possible. Fail with X::Numeric::Real otherwise.
(head2) ACCEPTS
    multi method ACCEPTS(Numeric:D: $other)

 
Returns True if $other is numerically the same as the invocant.
(head2) log
    multi sub    log(Numeric:D, Numeric $base = e) returns Numeric:D
    multi method log(Numeric:D: Numeric $base = e) returns Numeric:D

 
Calculates the logarithm to base $base . Defaults to the natural logarithm.
(head2) log10
    multi sub    log10(Numeric:D ) returns Numeric:D
    multi method log10(Numeric:D:) returns Numeric:D

 
Calculates the logarithm to base 10.
(head2) exp
    multi sub    exp(Numeric:D, Numeric:D $base = e) returns Numeric:D
    multi method exp(Numeric:D: Numeric:D $base = e) returns Numeric:D

 
Returns $base to the power of the number, or e to the power of the number if called without a second argument.
(head2) roots
    multi method roots(Numeric:D: Int:D $n) returns Positional

 
Returns a list of the $n complex roots, which evaluate to the original number when raised to the $n th power.
(head2) abs
    multi sub    abs(Numeric:D ) returns Real:D
    multi method abs(Numeric:D:) returns Real:D

 
Returns the absolute value of the number.
(head2) sqrt
    mulit sub    sqrt(Numeric:D) returns Numeric:D
    mulit method sqrt(Numeric:D) returns Numeric:D

 
Returns a square root of the number. For real numbers the positive square root is returned. On negative real numbers, sqrt returns NaN rather than a complex number, in order to not confuse people who are not familiar with complex arithemtic. If you want to calculate complex square roots, coerce to Complex first, or use the roots method.
(head2) conj
    multi method conj(Numeric:D) returns Numeric:D

 
Returns the complex conjugate of the number. Returns the number itself for real numbers.
(head2) Bool
    multi method Bool(Numeric:D:)

 
Returns False if the number is equivalent to zero, and True otherwise.
(head2) succ
    method succ(Numerid:D:)

 
Returns the number incremented by one (successor).
(head2) pred
    method pred(Numerid:D:)

 
Returns the number decremented by one (predecessor).

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.
Email:
Name: