Metadata-Version: 2.5
Name: mathbyart
Version: 0.3.0
Summary: แพ็กเกจสำหรับการคำนวณทฤษฎีจำนวนและเครื่องมือทางสถิติเบื้องต้น
Project-URL: Homepage, https://github.com/<your-github-username>/mathbyart
Project-URL: Documentation, https://github.com/<your-github-username>/mathbyart#readme
Project-URL: Repository, https://github.com/<your-github-username>/mathbyart.git
Project-URL: Bug Tracker, https://github.com/<your-github-username>/mathbyart/issues
Author-email: Wongsakorn Wongkaew <wongsakronwongkeaw@gmail.com>
License: MIT
License-File: LICENSE
Keywords: gcd,lcm,math,mean,median,number-theory,prime,statistics
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.8
Requires-Dist: numpy>=1.20.0
Description-Content-Type: text/markdown

#  mathbyart

ไลบรารี Python สำหรับการคำนวณทางคณิตศาสตร์ ครอบคลุมฟังก์ชันด้านทฤษฎีจำนวน (Number Theory) และการวิเคราะห์ข้อมูลทางสถิติเบื้องต้น (Statistics) อย่างง่ายและสะดวกรวดเร็ว

---

##  การติดตั้ง (Installation)

ติดตั้งผ่าน pip จาก PyPI:

```bash
pip install mathbyartMath & Stats Tools (mathbyart)

ตัวอย่าง Python Package มาตรฐาน PEP 517/621 สำหรับคำนวณด้านทฤษฎีจำนวนและสถิติเบื้องต้น

## การใช้งาน
```python
import mathbyart as pkg

# ==========================================
# 1. ทดสอบฟังก์ชันด้านทฤษฎีจำนวน (Number Theory)
# ==========================================
print("=== Number Theory Functions ===")

# ตรวจสอบจำนวนเฉพาะ (Recursion)
print("is_prime(17):", pkg.is_prime(17))
print("is_prime(20):", pkg.is_prime(20))

# หา ห.ร.ม. และ ค.ร.น.
print("gcd(48, 18):", pkg.gcd(48, 18))
print("lcm(4, 6):", pkg.lcm(4, 6))

# คำนวณแฟกทอเรียล (Memoization / lru_cache)
print("factorial(5):", pkg.factorial(5))

# ตรวจสอบจำนวนสมบูรณ์ และแยกตัวประกอบเฉพาะ
print("is_perfect_number(28):", pkg.is_perfect_number(28))
print("prime_factors(12):", pkg.prime_factors(12))

# เปรียบเทียบอัลกอริทึม (Algorithm Comparison: Recursive vs Iterative)
pkg.compare_gcd(1234567890, 987654321)

# วัตถุจำนวนเต็มและ Magic Methods (__str__, __eq__, __add__)
n1 = pkg.Number(48)
n2 = pkg.Number(18)
print(f"Number 1: {n1}, Number 2: {n2}")
print("GCD via '+' operator (n1 + n2):", n1 + n2)

# ทฤษฎีกราฟและเครือข่าย (NetworkX)
graph = pkg.create_divisibility_graph([2, 3, 4, 6, 12])
print("Divisibility Edges:", graph["edges"])

# สัญลักษณ์ทางคณิตศาสตร์ (SymPy - ถ้ามีการติดตั้ง)
try:
    print("Symbolic Factors (12):", pkg.prime_factors_symbolic(12))
except ImportError:
    pass


# ==========================================
# 2. ทดสอบฟังก์ชันด้านสถิติ (Statistics)
# ==========================================
print("\n=== Statistics Functions ===")

sample_data = [2, 4, 4, 4, 5, 5, 7, 9]

# ค่าสถิติพื้นฐาน (NumPy)
print("mean:", pkg.mean(sample_data))
print("median:", pkg.median(sample_data))
print("mode:", pkg.mode(sample_data))
print("variance:", pkg.variance(sample_data))
print("std_dev:", pkg.std_dev(sample_data))

# ประมวลผลข้อความตัวเลข (String Processing)
parsed = pkg.parse_numbers("10, 20, 30")
print("parse_numbers:", parsed)

# คลาสและการสืบทอดคุณสมบัติ (Class & Inheritance)
analyzer = pkg.DataAnalyzer(sample_data)
print("Analyzer Summary:", analyzer.get_summary())

adv = pkg.AdvancedAnalyzer([2, 4, 6, 8, 10], name="ScoreData")
print(f"[{adv.name}] Mean (Parent): {adv.get_mean()} | Range (Child): {adv.get_range()}")

# การอ่านและเขียนไฟล์ (File I/O)
pkg.save_summary_to_file(sample_data, "report.txt")
print("บันทึกสรุปผลลง 'report.txt' สำเร็จ")

```