Skip to main content

A python calculator library.

Project description

Calculator-LIB

A Python calculator library providing stateless arithmetic, power/root, modulo, rounding, and logarithmic/exponential operations.

Python 3.12+ License: MIT

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

Modified MIT

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

calculator_lib_rubens-0.1.6.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calculator_lib_rubens-0.1.6-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

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

Hashes for calculator_lib_rubens-0.1.6.tar.gz
Algorithm Hash digest
SHA256 896f7ca0a352bc3ff1d30057ae14dcea5708faee1be7d90609904c0242bb670f
MD5 28871fd0b1e0748cfe95fbe9fdbfb3fe
BLAKE2b-256 5028e850088bdafd855289f40410cbd3c304f6cea001c40319eda82b998bf0cd

See more details on using hashes here.

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

Hashes for calculator_lib_rubens-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f9c10ed8c2ab6f2de27546acf0dcfe76a512f3ec13c4f12dfe99ab7c5513c833
MD5 871dfcf85642a64d6babcb209bc626b1
BLAKE2b-256 5d5da2999a8ed6c6e90199637d8309ab99ab337d564725a5f00c26e8b5caaefa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page