add function: Takes in two i128 integers left and right as input and returns their sum as an i128 integer.
divide function: Takes in two i128 integers left and right as input and returns their quotient as an i128 integer.
factorial function: Takes an i128 integer number as input and returns its factorial as an i128 integer. The function
uses recursion to calculate the factorial. Note that it may cause stack overflow for large input values. Panics if the input value
is negative. To avoid this behavior, ensure the input value is non-negative.
fibonacci function: Takes an i128 integer number as input and returns the numberth Fibonacci number as an i128 integer.
It uses recursion to calculate the Fibonacci number. Note that it may cause stack overflow for large input values.
is_even function: Takes an i128 integer number as input and returns a boolean indicating whether number is even or not.
is_odd function: Takes an i128 integer number as input and returns a boolean indicating whether number is odd or not.
is_perfect_cube function: Takes an i128 integer number as input and returns a boolean indicating whether number
is a perfect cube or not. The function calculates the cube root of the input number, rounds it to the nearest integer value, and
then checks if the result cubed is equal to the original number. If they are equal, it returns true; otherwise, it returns false.
is_perfect_power function: Takes an i128 integer number as input and returns a boolean indicating whether
number is a perfect power or not. The function calculates the square root of the input number, rounds it to the nearest integer
value, and then checks if the result squared is equal to the original number. If they are equal, it returns true; otherwise, it returns
false.
is_perfect_square function: Takes an i128 integer number as input and returns a boolean indicating whether number
is a perfect square or not. The function calculates the square root of the input number, rounds it to the nearest integer value, and
then checks if the result squared is equal to the original number. If they are equal, it returns true; otherwise, it returns false.
is_prime function: Takes an i128 integer number as input and returns a boolean indicating whether number is a prime or not.
The function checks if the input number is less than or equal to 1, returning false if true, then iterates through all integers within
the range of 2 to number (exclusive), checking if they are divisible by number. If a divisor is found, the function returns false.
If no divisor is found, it returns true.
modulo function: Takes two i128 integers left and right as input and returns their remainder as an i128 integer.
multiply function: Takes in two i128 integers left and right as input and returns their product as an i128 integer.
power function: Takes in two i128 integers left and right as input and returns left raised to the power of right as an i128 integer.
Only supports non-negative exponent values. Panics if the exponent is negative.
root function: Takes two i128 integers left and right as input. Returns the rightth root of left as an i128 integer.
Panics if left is negative or right is non-positive.
subtract function: Takes two i128 integers left and right as input and returns their difference as an i128 integer.