A python calculator library.
Project description
Calculator-LIB
A Python calculator library providing stateless arithmetic, power/root, modulo, rounding, and logarithmic/exponential operations.
Installation
pip install calculator-lib-rubens
Quick Start
from calculator_lib import Calculator
calc = Calculator()
calc.add(2, 3) # 5
calc.subtract(10, 4) # 6
calc.multiply(3, 4) # 12
calc.divide(10, 2) # 5.0
API Reference
Core Arithmetic
| Method | Description |
|---|---|
add(a, b) |
Returns the sum of a and b |
subtract(a, b) |
Returns a minus b |
multiply(a, b) |
Returns the product of a and b |
divide(a, b) |
Returns a divided by b |
Power & Roots
| Method | Description |
|---|---|
power(a, b) |
Returns a raised to the power b |
sqrt(a) |
Returns the square root of a |
nth_root(a, n) |
Returns the n-th root of a |
Modulo & Integer Math
| Method | Description |
|---|---|
modulo(a, b) |
Returns the remainder of a / b |
floor_divide(a, b) |
Returns the floor division of a / b |
Absolute & Rounding
| Method | Description |
|---|---|
absolute(a) |
Returns the absolute value of a |
round_number(a, decimals=0) |
Rounds a to the given decimal places |
floor(a) |
Returns the largest integer <= a |
ceil(a) |
Returns the smallest integer >= a |
Logarithmic & Exponential
| Method | Description |
|---|---|
log10(a) |
Returns the base-10 logarithm of a |
ln(a) |
Returns the natural logarithm of a |
exp(a) |
Returns e raised to the power a |
Usage Examples
import math
from calculator_lib import Calculator
calc = Calculator()
# Power & Roots
calc.power(2, 3) # 8
calc.sqrt(16) # 4.0
calc.nth_root(27, 3) # 3.0
# Modulo & Rounding
calc.modulo(10, 3) # 1
calc.floor_divide(7, 2) # 3
calc.round_number(3.14159, 2) # 3.14
calc.floor(3.7) # 3.0
calc.ceil(3.2) # 4.0
# Logarithmic & Exponential
calc.log10(100) # 2.0
calc.ln(math.e) # 1.0
calc.exp(1) # 2.718281828459045
Error Handling
All methods validate their inputs and raise ValueError with descriptive
messages for invalid operations:
calc.divide(10, 0) # ValueError: Cannot divide by zero
calc.sqrt(-1) # ValueError: Cannot take square root of a negative number
calc.log10(0) # ValueError: Cannot take logarithm of a non-positive number
calc.nth_root(-4, 2) # ValueError: Cannot take even root of a negative number
calc.modulo(10, 0) # ValueError: Cannot modulo by zero
Requirements
- Python 3.12+
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file calculator_lib_rubens-0.1.6.tar.gz.
File metadata
- Download URL: calculator_lib_rubens-0.1.6.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
896f7ca0a352bc3ff1d30057ae14dcea5708faee1be7d90609904c0242bb670f
|
|
| MD5 |
28871fd0b1e0748cfe95fbe9fdbfb3fe
|
|
| BLAKE2b-256 |
5028e850088bdafd855289f40410cbd3c304f6cea001c40319eda82b998bf0cd
|
File details
Details for the file calculator_lib_rubens-0.1.6-py3-none-any.whl.
File metadata
- Download URL: calculator_lib_rubens-0.1.6-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c10ed8c2ab6f2de27546acf0dcfe76a512f3ec13c4f12dfe99ab7c5513c833
|
|
| MD5 |
871dfcf85642a64d6babcb209bc626b1
|
|
| BLAKE2b-256 |
5d5da2999a8ed6c6e90199637d8309ab99ab337d564725a5f00c26e8b5caaefa
|