NAME

Data::Object::Number

ABSTRACT

Number Class for Perl 5

SYNOPSIS

  package main;

  use Data::Object::Number;

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

DESCRIPTION

This package provides methods for manipulating number data.

INTEGRATES

This package integrates behaviors from:

Data::Object::Role::Dumpable

Data::Object::Role::Proxyable

Data::Object::Role::Throwable

LIBRARIES

This package uses type constraints from:

Data::Object::Types

METHODS

This package implements the following methods:

abs

  abs() : Any

The abs method returns the absolute value of the number.

abs example #1
  my $number = Data::Object::Number->new(12);

  $number->abs; # 12
abs example #2
  my $number = Data::Object::Number->new(-12);

  $number->abs; # 12

atan2

  atan2(Num $arg1) : Num

The atan2 method returns the arctangent of Y/X in the range -PI to PI.

atan2 example #1
  my $number = Data::Object::Number->new(1);

  $number->atan2(1); # 0.785398163397448

cos

  cos() : Num

The cos method computes the cosine of the number (expressed in radians).

cos example #1
  my $number = Data::Object::Number->new(12);

  $number->cos; # 0.843853958732492

decr

  decr(Num $arg1) : Num

The decr method returns the numeric number decremented by 1.

decr example #1
  my $number = Data::Object::Number->new(123456789);

  $number->decr; # 123456788

defined

  defined() : Num

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

defined example #1
  my $number = Data::Object::Number->new;

  $number->defined; # 1

downto

  downto(Num $arg1) : ArrayRef

The downto method returns an array reference containing integer decreasing values down to and including the limit.

downto example #1
  my $number = Data::Object::Number->new(10);

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

eq

  eq(Any $arg1) : Num

The eq method performs a numeric equality operation.

eq example #1
  my $number = Data::Object::Number->new(12345);

  $number->eq(12346); # 0

exp

  exp() : Num

The exp method returns e (the natural logarithm base) to the power of the number.

exp example #1
  my $number = Data::Object::Number->new(0);

  $number->exp; # 1
exp example #2
  my $number = Data::Object::Number->new(1);

  $number->exp; # 2.71828182845905
exp example #3
  my $number = Data::Object::Number->new(1.5);

  $number->exp; # 4.48168907033806

ge

  ge(Any $arg1) : Num

The ge method returns true if the argument provided is greater-than or equal-to the value represented by the object.

ge example #1
  my $number = Data::Object::Number->new(0);

  $number->ge(0); # 1

gt

  gt(Any $arg1) : Num

The gt method performs a numeric greater-than comparison.

gt example #1
  my $number = Data::Object::Number->new(99);

  $number->gt(50); # 1

hex

  hex() : Str

The hex method returns a hex string representing the value of the number.

hex example #1
  my $number = Data::Object::Number->new(175);

  $number->hex; # 0xaf

incr

  incr(Num $arg1) : Num

The incr method returns the numeric number incremented by 1.

incr example #1
  my $number = Data::Object::Number->new(123456789);

  $number->incr; # 123456790

int

  int() : Num

The int method returns the integer portion of the number. Do not use this method for rounding.

int example #1
  my $number = Data::Object::Number->new(12.5);

  $number->int; # 12

le

  le(Any $arg1) : Num

The le method returns true if the argument provided is less-than or equal-to the value represented by the object.

le example #1
  my $number = Data::Object::Number->new(0);

  $number->le(-1); # 0

log

  log() : Num

The log method returns the natural logarithm (base e) of the number.

log example #1
  my $number = Data::Object::Number->new(12345);

  $number->log; # 9.42100640177928

lt

  lt(Any $arg1) : Num

The lt method performs a numeric less-than comparison.

lt example #1
  my $number = Data::Object::Number->new(86);

  $number->lt(88); # 1

mod

  mod() : Num

The mod method returns the division remainder of the number divided by the argment.

mod example #1
  my $number = Data::Object::Number->new(12);

  $number->mod(1); # 0
mod example #2
  my $number = Data::Object::Number->new(12);

  $number->mod(2); # 0
mod example #3
  my $number = Data::Object::Number->new(12);

  $number->mod(3); # 0
mod example #4
  my $number = Data::Object::Number->new(12);

  $number->mod(4); # 0
mod example #5
  my $number = Data::Object::Number->new(12);

  $number->mod(5); # 2

ne

  ne(Any $arg1) : Num

The ne method performs a numeric equality operation.

ne example #1
  my $number = Data::Object::Number->new(-100);

  $number->ne(100); # 1

neg

  neg() : Num

The neg method returns a negative version of the number.

neg example #1
  my $number = Data::Object::Number->new(12345);

  $number->neg; # -12345

pow

  pow() : Num

The pow method returns a number, the result of a math operation, which is the number to the power of the argument.

pow example #1
  my $number = Data::Object::Number->new(12345);

  $number->pow(3); # 1881365963625

sin

  sin() : Num

The sin method returns the sine of the number (expressed in radians).

sin example #1
  my $number = Data::Object::Number->new(12345);

  $number->sin; # -0.993771636455681

sqrt

  sqrt(Num $arg1) : Num

The sqrt method returns the positive square root of the number.

sqrt example #1
  my $number = Data::Object::Number->new(12345);

  $number->sqrt; # 111.108055513541

to

  to(Num $arg1) : ArrayRef

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.

to example #1
  my $number = Data::Object::Number->new(5);

  $number->to(9); # [5,6,7,8,9]
to example #2
  my $number = Data::Object::Number->new(5);

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

upto

  upto(Num $arg1) : Any

The upto method returns an array reference containing integer increasing values up to and including the limit.

upto example #1
  my $number = Data::Object::Number->new(23);

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

AUTHOR

Al Newkirk, awncorp@cpan.org

LICENSE

Copyright (C) 2011-2019, Al Newkirk, et al.

This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".

PROJECT

Wiki

Project

Initiatives

Milestones

Contributing

Issues