NAME
Acme::ExtUtils::XSOne::Test::Calculator::Basic - Basic arithmetic operations
SYNOPSIS
# Import specific functions
use Acme::ExtUtils::XSOne::Test::Calculator::Basic qw(add subtract multiply);
my $sum = add(2, 3); # 5
my $diff = subtract(10, 4); # 6
my $prod = multiply(3, 4); # 12
# Or use fully qualified names
use Acme::ExtUtils::XSOne::Test::Calculator;
my $quot = Acme::ExtUtils::XSOne::Test::Calculator::Basic::divide(15, 3); # 5
my $mod = Acme::ExtUtils::XSOne::Test::Calculator::Basic::modulo(17, 5); # 2
EXPORTABLE FUNCTIONS
All functions can be imported by name:
add subtract multiply divide modulo negate absolute safe_divide clamp percent
DESCRIPTION
This module provides basic arithmetic operations as part of the Acme::ExtUtils::XSOne::Test::Calculator distribution. All operations record their results in the shared calculation history.
FUNCTIONS
add
my $result = add($a, $b);
Returns the sum of $a and $b.
subtract
my $result = subtract($a, $b);
Returns $a minus $b.
multiply
my $result = multiply($a, $b);
Returns the product of $a and $b.
divide
my $result = divide($a, $b);
Returns $a divided by $b. Croaks if $b is zero.
modulo
my $result = modulo($a, $b);
Returns the floating-point remainder of $a divided by $b. Croaks if $b is zero.
negate
my $result = negate($a);
Returns the negation of $a (i.e., -$a).
absolute
my $result = absolute($a);
Returns the absolute value of $a.
safe_divide
my $result = safe_divide($a, $b);
Returns $a divided by $b, or 0 if $b is zero (instead of croaking).
clamp
my $result = clamp($value, $min, $max);
Returns $value constrained to the range [$min, $max].
percent
my $result = percent($value, $pct);
Returns $pct percent of $value (i.e., $value * $pct / 100).
SEE ALSO
Acme::ExtUtils::XSOne::Test::Calculator, Acme::ExtUtils::XSOne::Test::Calculator::Scientific, Acme::ExtUtils::XSOne::Test::Calculator::Trig, Acme::ExtUtils::XSOne::Test::Calculator::Memory