Skip to content

Commit

Permalink
Move methods to extension package.
Browse files Browse the repository at this point in the history
  • Loading branch information
Roberto Reale committed Feb 27, 2018
1 parent 26492d1 commit ee74d9f
Showing 1 changed file with 0 additions and 38 deletions.
38 changes: 0 additions & 38 deletions lib/math/integer
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@


source bashlet datatype/number
source bashlet math/float


#@method
Expand All @@ -59,43 +58,6 @@ function bashlets_math_integer_sign()
[[ $value -ge $opposite ]] && echo 1 || echo -1
}

#@method
function bashlets_math_integer_is_prime()
{
$BASHLETS_NAMESPACE number validate_as_integer "$1" || return 1

# cf. https://primes.utm.edu/notes/faq/negative_primes.html
local value=$(bashlets_math_integer_abs $1)

if (($value == 2))
then
return 0
elif (($value < 2)) || (($value % 2 == 0))
then
return 1
else
local i sqrt_value="$($BASHLETS_NAMESPACE float sqrt $value)"
for i in $(seq 3 2 "$sqrt_value")
do
if (($value % $i == 0))
then
return 1
fi
done
return 0
fi
}

#@method
function bashlets_math_integer_is_perfect_square()
{
local value=${1:-0}
local sqrt_value="$($BASHLETS_NAMESPACE float sqrt $value)" || return 1
sqrt_value="$($BASHLETS_NAMESPACE float to_int $sqrt_value)"

((sqrt_value * sqrt_value == value))
}

#@method
function bashlets_math_integer_get_unique_factors()
{
Expand Down

0 comments on commit ee74d9f

Please sign in to comment.