NAME

Data::Object::Number

ABSTRACT

Data-Object Number Class

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.

METHODS

This package implements the following methods.

abs

  abs() : Any

The abs method returns the absolute value of the number. This method returns a Data::Object::Number object.

abs example
  # given 12

  $number->abs; # 12

  # given -12

  $number->abs; # 12

atan2

  atan2(Num $arg1) : NumObject

The atan2 method returns the arctangent of Y/X in the range -PI to PI This method returns a Data::Object::Float object.

atan2 example
  # given 1

  $number->atan2(1); # 0.785398163397448

cos

  cos() : NumObject

The cos method computes the cosine of the number (expressed in radians). This method returns a Data::Object::Float object.

cos example
  # given 12

  $number->cos; # 0.843853958732492

decr

  decr(Num $arg1) : NumObject

The decr method returns the numeric number decremented by 1. This method returns a data type object to be determined after execution.

decr example
  # given 123456789

  $number->decr; # 123456788

defined

  defined() : NumObject

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.

defined example
  # given $number

  $number->defined; # 1

downto

  downto(Int $arg1) : ArrayObject

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.

downto example
  # given 10

  $number->downto(5); # [10,9,8,7,6,5]

eq

  eq(Any $arg1) : NumObject

The eq method performs a numeric equality operation. This method returns a Data::Object::Number object representing a boolean.

eq example
  # given 12345

  $number->eq(12346); # 0

exp

  exp() : NumObject

The exp method returns e (the natural logarithm base) to the power of the number. This method returns a Data::Object::Float object.

exp example
  # given 0

  $number->exp; # 1

  # given 1

  $number->exp; # 2.71828182845905

  # given 1.5

  $number->exp; # 4.48168907033806

ge

  ge(Any $arg1) : NumObject

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.

ge example
  # given 0

  $number->ge(0); # 1

gt

  gt(Any $arg1) : NumObject

The gt method performs a numeric greater-than comparison. This method returns a Data::Object::Number object representing a boolean.

gt example
  # given 99

  $number->gt(50); # 1

hex

  hex() : Str

The hex method returns a hex string representing the value of the number. This method returns a Data::Object::String object.

hex example
  # given 175

  $number->hex; # 0xaf

incr

  incr(Num $arg1) : NumObject

The incr method returns the numeric number incremented by 1. This method returns a data type object to be determined after execution.

incr example
  # given 123456789

  $number->incr; # 123456790

int

  int() : IntObject

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.

int example
  # given 12.5

  $number->int; # 12

le

  le(Any $arg1) : NumObject

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.

le example
  # given 0

  $number->le; # 0

log

  log() : FloatObject

The log method returns the natural logarithm (base e) of the number. This method returns a Data::Object::Float object.

log example
  # given 12345

  $number->log; # 9.42100640177928

lt

  lt(Any $arg1) : NumObject

The lt method performs a numeric less-than comparison. This method returns a Data::Object::Number object representing a boolean.

lt example
  # given 86

  $number->lt(88); # 1

mod

  mod() : NumObject

The mod method returns the division remainder of the number divided by the argment. This method returns a Data::Object::Number object.

mod example
  # given 12

  $number->mod(1); # 0
  $number->mod(2); # 0
  $number->mod(3); # 0
  $number->mod(4); # 0
  $number->mod(5); # 2

ne

  ne(Any $arg1) : NumObject

The ne method performs a numeric equality operation. This method returns a Data::Object::Number object representing a boolean.

ne example
  # given -100

  $number->ne(100); # 1

neg

  neg() : IntObject

The neg method returns a negative version of the number. This method returns a Data::Object::Integer object.

neg example
  # given 12345

  $number->neg; # -12345

new

  new(Int $arg1) : NumObject

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

new example
  # given 1_000_000

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

pow

  pow() : NumObject

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.

pow example
  # given 12345

  $number->pow(3); # 1881365963625

roles

  roles() : ArrayRef

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

roles example
  # given $number

  $number->roles;

rules

  rules() : ArrayRef

The rules method returns consumed rules.

rules example
  my $rules = $number->rules();

sin

  sin() : IntObject

The sin method returns the sine of the number (expressed in radians). This method returns a data type object to be determined after execution.

sin example
  # given 12345

  $number->sin; # -0.993771636455681

sqrt

  sqrt(Int $arg1) : IntObject

The sqrt method returns the positive square root of the number. This method returns a data type object to be determined after execution.

sqrt example
  # given 12345

  $number->sqrt; # 111.108055513541

to

  to(Int $arg1) : ArrayObject

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.

to example
  # given 5

  $number->to(9); # [5,6,7,8,9]
  $number->to(1); # [5,4,3,2,1]

upto

  upto(Int $arg1) : Any

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.

upto example
  # given 23

  $number->upto(25); # [23,24,25]

ROLES

This package inherits all behavior from the folowing role(s):

RULES

This package adheres to the requirements in the folowing rule(s):