NAME
Data::Object::Number - A Number Object for Perl 5
VERSION
version 0.23
SYNOPSIS
use Data::Object::Number;
my $number = Data::Object::Number->new(1_000_000);
DESCRIPTION
Data::Object::Number provides common methods for operating on Perl 5 numeric data. Number methods work on data that meets the criteria for being a number. A number holds and manipulates an arbitrary sequence of bytes, typically representing numberic characters (0-9). Users of numbers should be aware of the methods that modify the number itself as opposed to returning a new number. Unless stated, it may be safe to assume that the following methods copy, modify and return new numbers based on their function.
COMPOSITION
This class inherits all functionality from the Data::Object::Role::Number role and implements proxy methods as documented herewith.
METHODS
abs
# given 12
$number->abs; # 12
# given -12
$number->abs; # 12
The abs method returns the absolute value of the number. This method returns a Data::Object::Number object.
atan2
# given 1
$number->atan2(1); # 0.785398163397448
The atan2 method returns the arctangent of Y/X in the range -PI to PI This method returns a Data::Object::Float object.
cos
# given 12
$number->cos; # 0.843853958732492
The cos method computes the cosine of the number (expressed in radians). This method returns a Data::Object::Float object.
decr
# given 123456789
$number->decr; # 123456788
The decr method returns the numeric number decremented by 1. This method returns a data type object to be determined after execution.
downto
# given 10
$number->downto(5); # [10,9,8,7,6,5]
The downto method returns an array reference containing integer decreasing values down to and including the limit. This method returns a Data::Object::Array object.
eq
# given 12345
$number->eq(12346); # 0
The eq method performs a numeric equality operation. This method returns a Data::Object::Number object representing a boolean.
exp
# given 0
$number->exp; # 1
# given 1
$number->exp; # 2.71828182845905
# given 1.5
$number->exp; # 4.48168907033806
The exp method returns e (the natural logarithm base) to the power of the number. This method returns a Data::Object::Float object.
gt
# given 99
$number->gt(50); # 1
The gt method performs a numeric greater-than comparison. This method returns a Data::Object::Number object representing a boolean.
gte
# given 100
$number->gte(100); # 1
The gte method performs a numeric greater-than-or-equal-to comparison. This method returns a Data::Object::Number object representing a boolean.
hex
# given 175
$number->hex; # 0xaf
The hex method returns a hex string representing the value of the number. This method returns a Data::Object::String object.
incr
# given 123456789
$number->incr; # 123456790
The incr method returns the numeric number incremented by 1. This method returns a data type object to be determined after execution.
int
# given 12.5
$number->int; # 12
The int method returns the integer portion of the number. Do not use this method for rounding. This method returns a Data::Object::Number object.
log
# given 12345
$number->log; # 9.42100640177928
The log method returns the natural logarithm (base e) of the number. This method returns a Data::Object::Float object.
lt
# given 86
$number->lt(88); # 1
The lt method performs a numeric less-than comparison. This method returns a Data::Object::Number object representing a boolean.
lte
# given 50
$number->lte(50); # 1
The lte method performs a numeric less-than-or-equal-to comparison. This method returns a Data::Object::Number object representing a boolean.
mod
# given 12
$number->mod(1); # 0
$number->mod(2); # 0
$number->mod(3); # 0
$number->mod(4); # 0
$number->mod(5); # 2
The mod method returns the division remainder of the number divided by the argment. This method returns a Data::Object::Number object.
ne
# given -100
$number->ne(100); # 1
The ne method performs a numeric equality operation. This method returns a Data::Object::Number object representing a boolean.
neg
# given 12345
$number->neg; # -12345
The neg method returns a negative version of the number. This method returns a Data::Object::Integer object.
pow
# given 12345
$number->pow(3); # 1881365963625
The pow method returns a number, the result of a math operation, which is the number to the power of the argument. This method returns a Data::Object::Number object.
sin
# given 12345
$number->sin; # -0.993771636455681
The sin method returns the sine of the number (expressed in radians). This method returns a data type object to be determined after execution.
sqrt
# given 12345
$number->sqrt; # 111.108055513541
The sqrt method returns the positive square root of the number. This method returns a data type object to be determined after execution.
to
# given 5
$number->to(9); # [5,6,7,8,9]
$number->to(1); # [5,4,3,2,1]
The to method returns an array reference containing integer increasing or decreasing values to and including the limit in ascending or descending order based on the value of the floating-point object. This method returns a Data::Object::Array object.
upto
# given 23
$number->upto(25); # [23,24,25]
The upto method returns an array reference containing integer increasing values up to and including the limit. This method returns a Data::Object::Array object.
OPERATORS
This class overloads the following operators for your convenience.
bool
!!$number
# equivilent to
$number->data
string
"$number"
# equivilent to
$number->data
smartmatch
$value ~~ $number
# equivilent to
$number->data
SEE ALSO
AUTHOR
Al Newkirk <anewkirk@ana.io>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Al Newkirk.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.