Venus::Number - Number Class
Number Class for Perl 5
package main; use Venus::Number; my $number = Venus::Number->new(1_000); # $number->abs;
This package provides methods for manipulating number data.
This package inherits behaviors from:
Venus::Kind::Value
This package provides the following methods:
abs() (Num)
The abs method returns the absolute value of the number.
Since 0.01
0.01
# given: synopsis; my $abs = $number->abs; # 1000
package main; use Venus::Number; my $number = Venus::Number->new(12); my $abs = $number->abs; # 12
package main; use Venus::Number; my $number = Venus::Number->new(-12); my $abs = $number->abs; # 12
atan2() (Num)
The atan2 method returns the arctangent of Y/X in the range -PI to PI.
package main; use Venus::Number; my $number = Venus::Number->new(1); my $atan2 = $number->atan2(1); # 0.785398163397448
cos() (Num)
The cos method computes the cosine of the number (expressed in radians).
package main; use Venus::Number; my $number = Venus::Number->new(12); my $cos = $number->cos; # 0.843853958732492
decr() (Num)
The decr method returns the numeric number decremented by 1.
package main; use Venus::Number; my $number = Venus::Number->new(123456789); my $decr = $number->decr; # 123456788
package main; use Venus::Number; my $number = Venus::Number->new(123456789); my $decr = $number->decr(123456788); # 1
default() (Int)
The default method returns the default value, i.e. 0.
0
# given: synopsis; my $default = $number->default; # 0
exp() (Num)
The exp method returns e (the natural logarithm base) to the power of the number.
package main; use Venus::Number; my $number = Venus::Number->new(0); my $exp = $number->exp; # 1
package main; use Venus::Number; my $number = Venus::Number->new(1); my $exp = $number->exp; # 2.71828182845905
package main; use Venus::Number; my $number = Venus::Number->new(1.5); my $exp = $number->exp; # 4.48168907033806
hex() (Str)
The hex method returns a hex string representing the value of the number.
package main; use Venus::Number; my $number = Venus::Number->new(175); my $hex = $number->hex; # "0xaf"
incr() (Num)
The incr method returns the numeric number incremented by 1.
package main; use Venus::Number; my $number = Venus::Number->new(123456789); my $incr = $number->incr; # 123456790
package main; use Venus::Number; my $number = Venus::Number->new(123456790); my $incr = $number->incr(-1); # 123456789
int() (Int)
The int method returns the integer portion of the number. Do not use this method for rounding.
package main; use Venus::Number; my $number = Venus::Number->new(12.5); my $int = $number->int; # 12
log() (Num)
The log method returns the natural logarithm (base e) of the number.
package main; use Venus::Number; my $number = Venus::Number->new(12345); my $log = $number->log; # 9.42100640177928
mod() (Int)
The mod method returns the division remainder of the number divided by the argment.
package main; use Venus::Number; my $number = Venus::Number->new(12); my $mod = $number->mod(1); # 0
package main; use Venus::Number; my $number = Venus::Number->new(12); my $mod = $number->mod(2); # 0
package main; use Venus::Number; my $number = Venus::Number->new(12); my $mod = $number->mod(5); # 2
neg() (Num)
The neg method returns a negative version of the number.
package main; use Venus::Number; my $number = Venus::Number->new(12345); my $neg = $number->neg; # -12345
pow() (Num)
The pow method returns a number, the result of a math operation, which is the number to the power of the argument.
package main; use Venus::Number; my $number = Venus::Number->new(12345); my $pow = $number->pow(3); # 1881365963625
range() (ArrayRef)
The range method returns an array reference containing integer increasing values up-to or down-to the limit specified.
package main; use Venus::Number; my $number = Venus::Number->new(5); my $range = $number->range(9); # [5..9]
package main; use Venus::Number; my $number = Venus::Number->new(5); my $range = $number->range(1); # [5, 4, 3, 2, 1]
sin() (Num)
The sin method returns the sine of the number (expressed in radians).
package main; use Venus::Number; my $number = Venus::Number->new(12345); my $sin = $number->sin; # -0.993771636455681
sqrt() (Num)
The sqrt method returns the positive square root of the number.
package main; use Venus::Number; my $number = Venus::Number->new(12345); my $sqrt = $number->sqrt; # 111.108055513541
This package overloads the following operators:
(!)
This package overloads the ! operator.
!
example 1
# given: synopsis; my $result = $number = !$number; # ""
(!=)
This package overloads the != operator.
!=
# given: synopsis; my $result = $number != 100; # 1
(%)
This package overloads the % operator.
%
# given: synopsis; my $result = $number % 2_000; # 1_000
(*)
This package overloads the * operator.
*
# given: synopsis; my $result = $number * 2; # 2_000
(+)
This package overloads the + operator.
+
# given: synopsis; my $result = $number + 100; # 1100
(-)
This package overloads the - operator.
-
# given: synopsis; my $result = $number - 100; # 900
(.)
This package overloads the . operator.
.
# given: synopsis; my $result = $number . 0; # 10_000
(/)
This package overloads the / operator.
/
# given: synopsis; my $result = $number / 10; # 100
(0+)
This package overloads the 0+ operator.
0+
# given: synopsis; my $result = $number + 0; # 1_000
(<)
This package overloads the < operator.
<
# given: synopsis; my $result = $number < 1001; # 1
(<=)
This package overloads the <= operator.
<=
# given: synopsis; my $result = $number <= 1000; # 1
(==)
This package overloads the == operator.
==
# given: synopsis; my $result = $number == 1000; # 1
(
This package overloads the > operator.
# given: synopsis; my $result = $number > 999; # 1
This package overloads the => operator.
# given: synopsis; my $result = $number >= 1000; # 1
(bool)
This package overloads the bool operator.
bool
# given: synopsis; my $result = !!$number; # 1
(eq)
This package overloads the eq operator.
eq
# given: synopsis; my $result = $number eq "1000"; # 1
(ne)
This package overloads the ne operator.
ne
# given: synopsis; my $result = $number ne "1_000"; # 1
(qr)
This package overloads the qr operator.
qr
# given: synopsis; my $result = '1000' =~ qr/$number/; # 1
(x)
This package overloads the x operator.
x
# given: synopsis; my $result = $number x 2; # 10001000
Cpanery, cpanery@cpan.org
cpanery@cpan.org
Copyright (C) 2021, Cpanery
Read the "license" file.
To install Venus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Venus
CPAN shell
perl -MCPAN -e shell install Venus
For more information on module installation, please visit the detailed CPAN module installation guide.