Merge pull request 'benchmark/is_odd_or_even' (#2) from benchmark/is_odd_or_even into develop

Reviewed-on: #2
This commit is contained in:
Falko Victor Habel 2025-02-10 17:16:21 +00:00
commit 55258eb46b
8 changed files with 75 additions and 5 deletions

View File

@ -1,3 +1,72 @@
# fabelous-math
# Fabelous Math
Python addtional math libary
Fabelous Math is a simple library designed to provide basic mathematical functions, saving you the trouble of writing these common utilities repeatedly. This library includes essential functions like checking if a number is even or odd.
## Installation
You can easily install `fabelous-math` using pip:
```sh
pip install https://gitea.fabelous.app/Fabel/fabelous-math.git
```
## Usage
### Python
To use the functions provided by Fabelous Math in your Python code, you can import them as follows:
```python
from fabelous_math import is_even, is_odd
# Example usage:
number = 42
print(f"Is {number} even? {is_even(number)}")
print(f"Is {number} odd? {is_odd(number)}")
```
## Functions
### `is_even`
Checks if a given number is even.
- **Python:**
```python
def is_even(number: int) -> bool:
pass
```
- **C++:**
```cpp
namespace simple_functions {
bool is_even(long long number);
}
```
### `is_odd`
Checks if a given number is odd.
- **Python:**
```python
def is_odd(number: int) -> bool:
pass
```
- **C++:**
```cpp
namespace simple_functions {
bool is_odd(long long number);
}
```
## Performance Comparison
To understand the performance of `fabelous-math` functions, I conducted a series of tests comparing my methods with traditional modulo operations. Below are the results:
### Low Numbers Performance:
![Low Numbers Performance](docs/low_numbers_comparison.png)
### High Numbers Performance:
![High Numbers Performance](docs/high_numbers_comparison.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -1,3 +1,4 @@
from fabelous_math import is_even, is_odd
print(is_even(5))
print(is_even(5))
print(is_odd(19))

View File

@ -2,10 +2,10 @@
namespace simple_functions {
bool is_even(long long number) {
return (number & 1) == 0;
return (number & 1) == 0;
}
bool is_odd(long long number) {
return (number & 1) == 1;
return (number & 1);
}
}

View File