The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Object::Number - Number Object for Perl 5

VERSION

version 0.59

SYNOPSIS

    use Data::Object::Number;

    my $number = Data::Object::Number->new(1_000_000);

DESCRIPTION

Data::Object::Number provides routines 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 package 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.

data

    # given $number

    $number->data; # original value

The data method returns the original and underlying value contained by the object. This method is an alias to the detract method.

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.

defined

    # given $number

    $number->defined; # 1

The defined method returns true if the object represents a value that meets the criteria for being defined, otherwise it returns false. This method returns a Data::Object::Number object.

detract

    # given $number

    $number->detract; # original value

The detract method returns the original and underlying value contained by the object.

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.

dump

    # given 12345

    $number->dump; # '12345'

The dump method returns returns a string representation of the object. This method returns a Data::Object::String 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.

ge

    # given 0

    $number->ge(0); # 1

The ge method returns true if the argument provided is greater-than or equal-to the value represented by the object. This method returns a Data::Object::Number 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.

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.

le

    # given 0

    $number->le; # 0

The le method returns true if the argument provided is less-than or equal-to the value represented by the object. 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.

methods

    # given $number

    $number->methods;

The methods method returns the list of methods attached to object. This method returns a Data::Object::Array object.

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.

new

    # given 1_000_000

    my $number = Data::Object::Number->new(1_000_000);

The new method expects a number and returns a new class instance.

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.

print

    # given 12345

    $number->print; # '12345'

The print method outputs the value represented by the object to STDOUT and returns true. This method returns a Data::Object::Number object.

roles

    # given $number

    $number->roles;

The roles method returns the list of roles attached to object. This method returns a Data::Object::Array object.

say

    # given 12345

    $number->say; # '12345\n'

The say method outputs the value represented by the object appended with a newline to STDOUT and returns true. 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.

throw

    # given $number

    $number->throw;

The throw method terminates the program using the core die keyword, passing the object to the Data::Object::Exception class as the named parameter object. If captured this method returns a Data::Object::Exception object.

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.

type

    # given $number

    $number->type; # NUMBER

The type method returns a string representing the internal data type object name. This method returns a Data::Object::String 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.

ROLES

This package is comprised of the following roles.

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.