Metadata-Version: 2.4
Name: progressions_uz
Version: 0.1.0
Summary: Arifmetik va geometrik progressiyalarni hisoblash paketi
Author: Maruf Amonturdiyev
License: MIT
Project-URL: Homepage, https://github.com/MarufAmonturdiyev/progressions_uz
Keywords: progression,arithmetic,geometric,math,uzbek,progressiya
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file
Dynamic: requires-python

# progressions_uz

**Muallif:** Maruf Amonturdiyev  
**Tavsif:** Arifmetik va geometrik progressiyalarni hisoblash, tahlil qilish va avtomatik aniqlash uchun eng qulay va qisqa sintaksisli Python kutubxonasi.

---

## O'rnatish (Installation)

```bash
pip install progressions_uz
```

---

## Ishlatish (Usage)

```python
from progressions import arif, geom, detect, an, sn, bn, sinf
```

### 1. Arifmetik progressiya (`arif`)

```python
# a1 = 2, d = 3 (2, 5, 8, 11, 14, ...)
p = arif(2, 3)

p(5)       # 14.0  (5-hadni tezkor olish)
p[5]       # 14.0  (indeks orqali)
p.sn(10)   # 155.0 (dastlabki 10 ta had yig'indisi)
p.s(2, 6)  # 55.0  (2-haddan 6-hadgacha yig'indi)
p.find(17) # 6     (17 soni nechanchi hadligi)
p.gen(5)   # [2.0, 5.0, 8.0, 11.0, 14.0] (hadlar ro'yxati)

# Ikkita had orqali topish (masalan a3=9 va a7=21 bo'lsa)
p = arif.from_terms(3, 9, 7, 21)

# Ro'yxatdan yasash
p = arif.from_seq([5, 10, 15, 20])
```

---

### 2. Geometrik progressiya (`geom`)

```python
# b1 = 3, q = 2 (3, 6, 12, 24, 48, ...)
g = geom(3, 2)

g(5)       # 48.0  (5-had)
g[5]       # 48.0  (indeks orqali)
g.sn(5)    # 93.0  (dastlabki 5 ta had yig'indisi)
g.pn(4)    # 5184.0 (dastlabki 4 ta had ko'paytmasi)
g.find(96) # 6     (96 soni nechanchi hadligi)

# Cheksiz kamayuvchi geometrik progressiya (|q| < 1)
g_inf = geom(4, 0.5)
g_inf.sinf() # 8.0 (cheksiz yig'indi)

# Ikkita had orqali topish (b2=6, b4=24)
g = geom.from_terms(2, 6, 4, 24)

# Ro'yxatdan yasash
g = geom.from_seq([2, 6, 18, 54])
```

---

### 3. Bitta qatorli tezkor funksiyalar

```python
an(2, 3, 5)     # 14.0 (arifmetik 5-had)
sn(1, 1, 10)    # 55.0 (1 dan 10 gacha yig'indi)
bn(3, 2, 5)     # 48.0 (geometrik 5-had)
sinf(4, 0.5)    # 8.0  (cheksiz geometrik yig'indi)
```

---

### 4. Avtomatik aniqlash (`detect`)

```python
p = detect([5, 10, 15, 20]) # -> arif(a1=5.0, d=5.0)
g = detect([2, 6, 18, 54])  # -> geom(b1=2.0, q=3.0)
```
