kececinumbers 0.5.2__py3-none-any.whl → 0.5.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kececinumbers/__init__.py +1 -1
- kececinumbers/_version.py +1 -1
- kececinumbers/kececinumbers.py +35 -15
- {kececinumbers-0.5.2.dist-info → kececinumbers-0.5.3.dist-info}/METADATA +2 -2
- kececinumbers-0.5.3.dist-info/RECORD +10 -0
- kececinumbers-0.5.2.dist-info/RECORD +0 -10
- {kececinumbers-0.5.2.dist-info → kececinumbers-0.5.3.dist-info}/WHEEL +0 -0
- {kececinumbers-0.5.2.dist-info → kececinumbers-0.5.3.dist-info}/licenses/LICENSE +0 -0
- {kececinumbers-0.5.2.dist-info → kececinumbers-0.5.3.dist-info}/top_level.txt +0 -0
kececinumbers/__init__.py
CHANGED
kececinumbers/_version.py
CHANGED
kececinumbers/kececinumbers.py
CHANGED
@@ -548,8 +548,12 @@ def _parse_quaternion_from_csv(s: str) -> np.quaternion:
|
|
548
548
|
# --- CORE GENERATOR ---
|
549
549
|
# ==============================================================================
|
550
550
|
|
551
|
-
def unified_generator(kececi_type: int, start_input_raw: str,
|
552
|
-
"""
|
551
|
+
def unified_generator(kececi_type: int, start_input_raw: str, add_input_raw: str, iterations: int) -> List[Any]:
|
552
|
+
"""
|
553
|
+
Core engine to generate Keçeci Number sequences.
|
554
|
+
Bu güncellenmiş versiyon, tüm sayı tipleri için esnek girdi işleme ve
|
555
|
+
kuaterniyonlar için tam vektörel toplama desteği sunar.
|
556
|
+
"""
|
553
557
|
|
554
558
|
if not (TYPE_POSITIVE_REAL <= kececi_type <= TYPE_NEUTROSOPHIC_BICOMPLEX):
|
555
559
|
raise ValueError(f"Invalid Keçeci Number Type: {kececi_type}. Must be between {TYPE_POSITIVE_REAL} and {TYPE_NEUTROSOPHIC_BICOMPLEX}.")
|
@@ -560,66 +564,82 @@ def unified_generator(kececi_type: int, start_input_raw: str, add_input_base_sca
|
|
560
564
|
use_integer_division = False
|
561
565
|
|
562
566
|
try:
|
563
|
-
|
567
|
+
# DEĞİŞİKLİK 1: Fonksiyonun başındaki genel `float()` dönüştürmesi kaldırıldı.
|
568
|
+
# Artık her sayı tipi, kendi `elif` bloğu içinde kendi girdisini işleyecek.
|
564
569
|
|
565
570
|
if kececi_type in [TYPE_POSITIVE_REAL, TYPE_NEGATIVE_REAL]:
|
566
571
|
current_value = int(float(start_input_raw))
|
567
|
-
add_value_typed = int(
|
572
|
+
add_value_typed = int(float(add_input_raw)) # Girdi işleme bu bloğun içine taşındı
|
568
573
|
ask_unit = 1
|
569
574
|
use_integer_division = True
|
575
|
+
|
570
576
|
elif kececi_type == TYPE_FLOAT:
|
571
577
|
current_value = float(start_input_raw)
|
572
|
-
add_value_typed =
|
578
|
+
add_value_typed = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
573
579
|
ask_unit = 1.0
|
580
|
+
|
574
581
|
elif kececi_type == TYPE_RATIONAL:
|
575
582
|
current_value = Fraction(start_input_raw)
|
576
|
-
add_value_typed = Fraction(
|
583
|
+
add_value_typed = Fraction(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
577
584
|
ask_unit = Fraction(1)
|
585
|
+
|
578
586
|
elif kececi_type == TYPE_COMPLEX:
|
579
587
|
current_value = _parse_complex(start_input_raw)
|
588
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
580
589
|
add_value_typed = complex(a_float, a_float)
|
581
590
|
ask_unit = 1 + 1j
|
591
|
+
|
592
|
+
# DEĞİŞİKLİK 2: Kuaterniyon bloğu artık tamamen farklı ve doğru çalışıyor.
|
593
|
+
elif kececi_type == TYPE_QUATERNION:
|
594
|
+
# Hem başlangıç hem de eklenen değer için virgülle ayrılmış formatı işler.
|
595
|
+
current_value = _parse_quaternion_from_csv(start_input_raw)
|
596
|
+
add_value_typed = _parse_quaternion_from_csv(add_input_raw)
|
597
|
+
ask_unit = np.quaternion(1, 1, 1, 1)
|
598
|
+
|
582
599
|
elif kececi_type == TYPE_NEUTROSOPHIC:
|
583
600
|
a, b = _parse_neutrosophic(start_input_raw)
|
584
601
|
current_value = NeutrosophicNumber(a, b)
|
602
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
585
603
|
add_value_typed = NeutrosophicNumber(a_float, 0)
|
586
604
|
ask_unit = NeutrosophicNumber(1, 1)
|
605
|
+
|
587
606
|
elif kececi_type == TYPE_NEUTROSOPHIC_COMPLEX:
|
588
607
|
s_complex = _parse_complex(start_input_raw)
|
589
608
|
current_value = NeutrosophicComplexNumber(s_complex.real, s_complex.imag, 0.0)
|
609
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
590
610
|
add_value_typed = NeutrosophicComplexNumber(a_float, 0.0, 0.0)
|
591
611
|
ask_unit = NeutrosophicComplexNumber(1, 1, 1)
|
612
|
+
|
592
613
|
elif kececi_type == TYPE_HYPERREAL:
|
593
614
|
a, b = _parse_hyperreal(start_input_raw)
|
594
615
|
sequence_list = [a + b / n for n in range(1, 11)]
|
595
616
|
current_value = HyperrealNumber(sequence_list)
|
617
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
596
618
|
add_sequence = [a_float] + [0.0] * 9
|
597
619
|
add_value_typed = HyperrealNumber(add_sequence)
|
598
620
|
ask_unit = HyperrealNumber([1.0] * 10)
|
621
|
+
|
599
622
|
elif kececi_type == TYPE_BICOMPLEX:
|
600
623
|
s_complex = _parse_complex(start_input_raw)
|
624
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
601
625
|
a_complex = complex(a_float)
|
602
626
|
current_value = BicomplexNumber(s_complex, s_complex / 2)
|
603
627
|
add_value_typed = BicomplexNumber(a_complex, a_complex / 2)
|
604
628
|
ask_unit = BicomplexNumber(complex(1, 1), complex(0.5, 0.5))
|
629
|
+
|
605
630
|
elif kececi_type == TYPE_NEUTROSOPHIC_BICOMPLEX:
|
606
631
|
s_complex = _parse_complex(start_input_raw)
|
607
632
|
current_value = NeutrosophicBicomplexNumber(s_complex.real, s_complex.imag, 0, 0, 0, 0, 0, 0)
|
633
|
+
a_float = float(add_input_raw) # Girdi işleme bu bloğun içine taşındı
|
608
634
|
add_value_typed = NeutrosophicBicomplexNumber(a_float, 0, 0, 0, 0, 0, 0, 0)
|
609
635
|
ask_unit = NeutrosophicBicomplexNumber(*([1.0] * 8))
|
610
|
-
#elif kececi_type == TYPE_QUATERNION:
|
611
|
-
#current_value = _parse_quaternion(start_input_raw)
|
612
|
-
#add_value_typed = np.quaternion(a_float, a_float, a_float, a_float)
|
613
|
-
#ask_unit = np.quaternion(1, 1, 1, 1)
|
614
|
-
elif kececi_type == TYPE_QUATERNION:
|
615
|
-
current_value = _parse_quaternion_from_csv(start_input_raw)
|
616
|
-
add_value_typed = _parse_quaternion_from_csv(add_input_base_scalar) # Değişiklik burada
|
617
|
-
ask_unit = np.quaternion(1, 1, 1, 1)
|
618
636
|
|
619
637
|
except (ValueError, TypeError) as e:
|
620
|
-
|
638
|
+
# Hata mesajı artık her iki girdiyi de göstererek daha faydalı
|
639
|
+
print(f"ERROR: Failed to initialize type {kececi_type} with start='{start_input_raw}' and increment='{add_input_raw}': {e}")
|
621
640
|
return []
|
622
641
|
|
642
|
+
# Fonksiyonun geri kalan üreteç mantığı (döngü kısmı) aynı kalır.
|
623
643
|
sequence = [current_value]
|
624
644
|
last_divisor_used = None
|
625
645
|
ask_counter = 0
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: kececinumbers
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.3
|
4
4
|
Summary: Keçeci Numbers: An Exploration of a Dynamic Sequence Across Diverse Number Sets
|
5
5
|
Home-page: https://github.com/WhiteSymmetry/kececinumbers
|
6
6
|
Author: Mehmet Keçeci
|
@@ -59,7 +59,7 @@ Dynamic: maintainer
|
|
59
59
|
Dynamic: maintainer-email
|
60
60
|
Dynamic: requires-python
|
61
61
|
|
62
|
-
# Keçeci Numbers: Keçeci Sayıları
|
62
|
+
# Keçeci Numbers: Keçeci Sayıları (Keçeci Conjecture)
|
63
63
|
---
|
64
64
|
|
65
65
|
[](https://badge.fury.io/py/kececinumbers/)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
docs/conf.py,sha256=jkpH_TchRJcC_EspKeY1E_rml2ODmIWhWoqvyCPu_ok,1116
|
2
|
+
kececinumbers/__init__.py,sha256=y_Wlgvwt1591rasdY-u__X0m8MB_mXdYtozcTWUrwvU,3758
|
3
|
+
kececinumbers/_version.py,sha256=FJEL_1hwFqZz6weWeGRoiwwCrv8TLw_rzkRGsS8JBkM,453
|
4
|
+
kececinumbers/kececinumbers.py,sha256=TS6vyqbtktEGf38UXVxJxF9xnUgw_B7LKHhodUobIxo,44135
|
5
|
+
kececinumbers-0.5.3.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
|
6
|
+
tests/test_sample.py,sha256=qMWUBGQtlF1gZHZ_e6Gye1vHtyNnUWH7iXK72a1y6VQ,9728
|
7
|
+
kececinumbers-0.5.3.dist-info/METADATA,sha256=AVxaBzyBIFghdP2-fudtGEZw5vvBgjptpWn6U6MWO70,33010
|
8
|
+
kececinumbers-0.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
9
|
+
kececinumbers-0.5.3.dist-info/top_level.txt,sha256=ABQEKRH9iYb4sWnFdx7gIx7Hg899YktRkQpbRlSSqwU,25
|
10
|
+
kececinumbers-0.5.3.dist-info/RECORD,,
|
@@ -1,10 +0,0 @@
|
|
1
|
-
docs/conf.py,sha256=jkpH_TchRJcC_EspKeY1E_rml2ODmIWhWoqvyCPu_ok,1116
|
2
|
-
kececinumbers/__init__.py,sha256=GmhUWhMpBjMeGJ-LV4oxI5qA5UDCrCwh6ueO9uE1EYY,3758
|
3
|
-
kececinumbers/_version.py,sha256=cmDXhAyFEd7qy5FlMI41EPXUmTpFhes1dmXMh1Rq3NA,453
|
4
|
-
kececinumbers/kececinumbers.py,sha256=d2gDDpGnzf0exNqopEl4YprLmj1-REtMzJH5-r6n57M,42939
|
5
|
-
kececinumbers-0.5.2.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
|
6
|
-
tests/test_sample.py,sha256=qMWUBGQtlF1gZHZ_e6Gye1vHtyNnUWH7iXK72a1y6VQ,9728
|
7
|
-
kececinumbers-0.5.2.dist-info/METADATA,sha256=9-fGVebcbmv1DoaDQqMC5LBFwWJtAmkl6cuaE87-6q0,32989
|
8
|
-
kececinumbers-0.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
9
|
-
kececinumbers-0.5.2.dist-info/top_level.txt,sha256=ABQEKRH9iYb4sWnFdx7gIx7Hg899YktRkQpbRlSSqwU,25
|
10
|
-
kececinumbers-0.5.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|