Thanks to visit codestin.com
Credit goes to zenodo.org

Published July 31, 2025 | Version 0.1.0
Software Open

oresmen

  • 1. International Scientific Publications

Description

Oresme Numba

Mehmet Keçeci

Python ile Kurulum / Install with pip, conda, mamba

pip install oresmen -U
python -m pip install -U oresmen
conda install bilgi::oresmen -y
mamba install bilgi::oresmen -y
 
- pip uninstall Oresme -y
+ pip install -U oresmen
+ python -m pip install -U oresmen
 

PyPI

Test Kurulumu / Test Installation

pip install -i https://test.pypi.org/simple/ oresmen -U
 

Github Master Kurulumu / GitHub Master Installation

Terminal:

pip install git+https://github.com/WhiteSymmetry/oresmen.git
 

Jupyter Lab, Notebook, Visual Studio Code:

!pip install git+https://github.com/WhiteSymmetry/oresmen.git
# or
%pip install git+https://github.com/WhiteSymmetry/oresmen.git
 

Kullanım (Türkçe) / Usage (English)

Note: "\Lib\site-packages\numba_init_.py"

if numpy_version > (2, 0):
    msg = (f"Numba needs NumPy 2.0 or less. Got NumPy "
           f"{numpy_version[0]}.{numpy_version[1]}.")
    raise ImportError(msg)
 

-->

if numpy_version > (2, 5):
    msg = (f"Numba needs NumPy 2.5 or less. Got NumPy "
           f"{numpy_version[0]}.{numpy_version[1]}.")
    raise ImportError(msg)
 
import oresmen as on

# Doğrudan erişim (on.main.harmonic_number yerine)
n = 100
hn = on.harmonic_number(n)
print(f"H_{n} = {hn}")

# Enum sınıfına doğrudan erişim
approx_hn = on.harmonic_number_approx(
    n,
    method=on.ApproximationMethod.EULER_MASCHERONI
)
print(f"H_{n} (Yaklaşık) = {approx_hn}")

# Numba ile hızlandırılmış diziye erişim
sums_array = on.harmonic_numbers_numba(10)
print(f"İlk 10 harmonik sayı: {sums_array}")
 
import oresmen as on
import numpy as np
import numba
import time
import matplotlib.pyplot as plt

# Simple usage example
plt.figure(figsize=(10, 5))
plt.plot(on.harmonic_numbers_numba(500))
plt.title("First 5000000 Harmonic Numbers")
plt.xlabel("n")
plt.ylabel("H(n)")
plt.show()
 
import oresmen
oresmen.__version__
 
import importlib
import inspect
import oresmen as on  # Varsa import hatasını yakalamak için


def diagnose_module(module_name):
    try:
        # Modülü yükle
        module = importlib.import_module(module_name)
        
        print(f"\n{' Modül Tanılama Raporu ':=^80}")
        print(f"Modül adı: {module_name}")
        print(f"Modül dosya yolu: {inspect.getfile(module)}")
        
        # Modülün tüm özelliklerini listele
        print("\nModülde bulunan özellikler:")
        members = inspect.getmembers(module)
        public_members = [name for name, _ in members if not name.startswith('_')]
        print(public_members)
        
        # Özel olarak kontrol edilecek fonksiyonlar
        required_functions = [
            'oresme_sequence',
            'harmonic_numbers',
            'harmonic_number',
            'harmonic_number_numba',
            'harmonic_numbers_numba',
            'harmonic_generator_numba',
            'harmonic_number_approx'
        ]
        
        print("\nEksik olan fonksiyonlar:")
        missing = [fn for fn in required_functions if not hasattr(module, fn)]
        print(missing if missing else "Tüm gerekli fonksiyonlar mevcut")
        
        # __all__ değişkenini kontrol et
        print("\n__all__ değişkeni:")
        if hasattr(module, '__all__'):
            print(module.__all__)
        else:
            print("__all__ tanımlı değil (tüm public fonksiyonlar içe aktarılır)")
            
    except ImportError as e:
        print(f"\nHATA: Modül yüklenemedi - {e}")
    except Exception as e:
        print(f"\nBeklenmeyen hata: {e}")

# Tanılama çalıştır
diagnose_module('oresmen')

# Alternatif olarak doğrudan kontrol
print("\nDoğrudan fonksiyon varlığı kontrolü:")
try:
    print("harmonic_numbers_numba mevcut mu?", hasattr(on, 'harmonic_numbers_numba'))
    if hasattr(on, 'harmonic_numbers_numba'):
        print("Fonksiyon imzası:", inspect.signature(on.harmonic_numbers_numba))
    else:
        print("Eksik fonksiyon: harmonic_numbers_numba")
except Exception as e:
    print("Kontrol sırasında hata:", e)
 
# 1. Alternatif içe aktarma yöntemi
from oresmen import harmonic_numbers_numba  # Doğrudan import deneyin
import oresmen as on

# 2. Modülü yeniden yükleme
import importlib
importlib.reload(on)

# 3. Fonksiyonun alternatif isimle var olup olmadığını kontrol
print("Alternatif fonksiyon isimleri:", [name for name in dir(on) if 'harmonic' in name.lower()])
 

Development

# Clone the repository
git clone https://github.com/WhiteSymmetry/oresmen.git
cd oresmen

# Install in development mode
python -m pip install -ve . # Install package in development mode

# Run tests
pytest

Notebook, Jupyterlab, Colab, Visual Studio Code
!python -m pip install git+https://github.com/WhiteSymmetry/oresmen.git

Files

Files (89.4 kB)

Name Size Download all
md5:17016977a8fc4a46d6d594da14c395ba
10.3 kB Download
md5:8faa448fcf51b766bde18f4b9d9f9795
70.2 kB Download
md5:e3bc1c8ef2d524a4623c1caff8ff9716
8.9 kB Download

Additional details

Software

Repository URL
https://github.com/WhiteSymmetry/oresmen
Programming language
Python
Development Status
Active