kececinumbers 0.3.5__py3-none-any.whl → 0.3.7__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 CHANGED
@@ -20,7 +20,7 @@ import warnings
20
20
  # importlib.reload(kececinumbers) # F821 undefined name 'kececinumbers'
21
21
 
22
22
  # Paket sürüm numarası
23
- __version__ = "0.3.5"
23
+ __version__ = "0.3.7"
24
24
  __author__ = "Mehmet Keçeci"
25
25
  __email__ = "mkececi@yaani.com"
26
26
 
kececinumbers/_version.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # _version.py
2
2
 
3
- __version__ = "0.3.5"
3
+ __version__ = "0.3.7"
4
4
  __license__ = "MIT"
5
5
  __description__ = "Keçeci Numbers: An Exploration of a Dynamic Sequence Across Diverse Number Sets."
6
6
  __author__ = "Mehmet Keçeci"
@@ -205,7 +205,7 @@ class HyperrealNumber:
205
205
  raise TypeError("Modulo only supported with a scalar divisor.")
206
206
 
207
207
  def __str__(self) -> str:
208
- return f"Hyperreal({self.sequence[:3]}...)"
208
+ return f"Hyperreal({self.sequence[:30]}...)"
209
209
 
210
210
  @dataclass
211
211
  class BicomplexNumber:
@@ -595,7 +595,7 @@ def print_detailed_report(sequence: List[Any], params: Dict[str, Any]):
595
595
  print(f" - Keçeci Prime Number (KPN): {kpn if kpn is not None else 'Not found'}")
596
596
 
597
597
  print("\n[Sequence Preview]")
598
- preview_count = min(len(sequence), 5)
598
+ preview_count = min(len(sequence), 30)
599
599
  print(f" --- First {preview_count} Numbers ---")
600
600
  for i in range(preview_count):
601
601
  print(f" {i}: {sequence[i]}")
@@ -632,7 +632,7 @@ def get_with_params(kececi_type_choice: int, iterations: int, start_value_raw: s
632
632
  )
633
633
 
634
634
  if generated_sequence:
635
- print(f"Generated {len(generated_sequence)} numbers. Preview: {generated_sequence[:3]}...")
635
+ print(f"Generated {len(generated_sequence)} numbers. Preview: {generated_sequence[:30]}...")
636
636
  kpn = find_kececi_prime_number(generated_sequence)
637
637
  if kpn is not None:
638
638
  print(f"Keçeci Prime Number for this sequence: {kpn}")
@@ -693,6 +693,46 @@ def get_interactive() -> Tuple[List[Any], Dict[str, Any]]:
693
693
  # --- ANALYSIS AND PLOTTING ---
694
694
  # ==============================================================================
695
695
 
696
+ def find_period(sequence: List[Any], min_repeats: int = 3) -> Optional[List[Any]]:
697
+ """
698
+ Checks if the end of a sequence has a repeating cycle (period).
699
+
700
+ Args:
701
+ sequence: The list of numbers to check.
702
+ min_repeats: How many times the cycle must repeat to be considered stable.
703
+
704
+ Returns:
705
+ The repeating cycle as a list if found, otherwise None.
706
+ """
707
+ if len(sequence) < 10: # Çok kısa dizilerde periyot aramak anlamsız
708
+ return None
709
+
710
+ # Olası periyot uzunluklarını dizinin yarısına kadar kontrol et
711
+ for p_len in range(1, len(sequence) // min_repeats):
712
+ # Dizinin sonundan potansiyel döngüyü al
713
+ candidate_cycle = sequence[-p_len:]
714
+
715
+ # Döngünün en az `min_repeats` defa tekrar edip etmediğini kontrol et
716
+ is_periodic = True
717
+ for i in range(1, min_repeats):
718
+ start_index = -(i + 1) * p_len
719
+ end_index = -i * p_len
720
+
721
+ # Dizinin o bölümünü al
722
+ previous_block = sequence[start_index:end_index]
723
+
724
+ # Eğer bloklar uyuşmuyorsa, bu periyot değildir
725
+ if candidate_cycle != previous_block:
726
+ is_periodic = False
727
+ break
728
+
729
+ # Eğer döngü tüm kontrollerden geçtiyse, periyodu bulduk demektir
730
+ if is_periodic:
731
+ return candidate_cycle
732
+
733
+ # Hiçbir periyot bulunamadı
734
+ return None
735
+
696
736
  def find_kececi_prime_number(kececi_numbers_list: List[Any]) -> Optional[int]:
697
737
  """Finds the Keçeci Prime Number from a generated sequence."""
698
738
  if not kececi_numbers_list:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kececinumbers
3
- Version: 0.3.5
3
+ Version: 0.3.7
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
@@ -447,6 +447,16 @@ If this library was useful to you in your research, please cite us. Following th
447
447
 
448
448
  ```
449
449
 
450
+ Keçeci, M. (2025). Keçeci Varsayımının Kuramsal ve Karşılaştırmalı Analizi. ResearchGate. https://dx.doi.org/10.13140/RG.2.2.21825.88165
451
+
452
+ Keçeci, M. (2025). Keçeci Varsayımı'nın Hesaplanabilirliği: Sonlu Adımda Kararlı Yapıya Yakınsama Sorunu. WorkflowHub. https://doi.org/10.48546/workflowhub.document.44.1
453
+
454
+ Keçeci, M. (2025). Keçeci Varsayımı ve Dinamik Sistemler: Farklı Başlangıç Koşullarında Yakınsama ve Döngüler. Open Science Output Articles (OSOAs), OSF. https://doi.org/10.17605/OSF.IO/68AFN
455
+
456
+ Keçeci, M. (2025). Keçeci Varsayımı: Periyodik Çekiciler ve Keçeci Asal Sayısı (KPN) Kavramı. Open Science Knowledge Articles (OSKAs), Knowledge Commons. https://doi.org/10.17613/g60hy-egx74
457
+
458
+ Keçeci, M. (2025). Genelleştirilmiş Keçeci Operatörleri: Collatz Yinelemesinin Nötrosofik ve Hiperreel Sayı Sistemlerinde Uzantıları. Authorea. https://doi.org/10.22541/au.175433544.41244947/v1
459
+
450
460
  Keçeci, M. (2025). Keçeci Varsayımı: Collatz Genelleştirmesi Olarak Çoklu Cebirsel Sistemlerde Yinelemeli Dinamikler. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.16702475
451
461
 
452
462
  Keçeci, M. (2025). Geometric Interpretations of Keçeci Numbers with Neutrosophic and Hyperreal Numbers. Zenodo. https://doi.org/10.5281/zenodo.16344232
@@ -455,7 +465,7 @@ Keçeci, M. (2025). Keçeci Sayılarının Nötrosofik ve Hipergerçek Sayılarl
455
465
 
456
466
  Keçeci, M. (2025). kececinumbers [Data set]. figshare. https://doi.org/10.6084/m9.figshare.29816414
457
467
 
458
- Keçeci, M. (2025). kececinumbers [Data set]. Open Work Flow Articles (OWFAs), WorkflowHub. https://doi.org/10.48546/workflowhub.datafile.14.2
468
+ Keçeci, M. (2025). kececinumbers [Data set]. Open Work Flow Articles (OWFAs), WorkflowHub. https://doi.org/10.48546/workflowhub.datafile.14.1; https://doi.org/10.48546/workflowhub.datafile.14.2; https://doi.org/10.48546/workflowhub.datafile.14.3
459
469
 
460
470
  Keçeci, M. (2025). kececinumbers. Open Science Articles (OSAs), Zenodo. https://doi.org/10.5281/zenodo.15377659
461
471
 
@@ -0,0 +1,8 @@
1
+ kececinumbers/__init__.py,sha256=8dxUSaUch9-b54wAbo-TNp5N26vP02cnIBuqb5wLqNk,3469
2
+ kececinumbers/_version.py,sha256=tTb02ja2dsDr6Pe-DcRVSdsuoroZJPMgAkvaTiE2pIw,428
3
+ kececinumbers/kececinumbers.py,sha256=cCvxaUJG2Tbbm0TJ52J1SerOG-9c_KDVcAMBGWEBh4k,38922
4
+ kececinumbers-0.3.7.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
5
+ kececinumbers-0.3.7.dist-info/METADATA,sha256=DwdGg75B2j1A4NQTutrKtbphUOShWOvZ0NGgNH_w2Jo,29844
6
+ kececinumbers-0.3.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
7
+ kececinumbers-0.3.7.dist-info/top_level.txt,sha256=VvlbQKmTjOlzBbvq54-AaXp_WPRZ5dOhw91lV-ytPRQ,14
8
+ kececinumbers-0.3.7.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- kececinumbers/__init__.py,sha256=qnLn1QDcH4jCYIYxzTbGTSSw14Zs1BoztVLbtTLOHbM,3469
2
- kececinumbers/_version.py,sha256=uHPWT2uAlFAoYVzXTkOniG6r2qm47ZGXAgXgjNhypIE,428
3
- kececinumbers/kececinumbers.py,sha256=TCOtc5joSC23rqciU8HuRSD6K5UrEQae7n0kj3NvCa0,37488
4
- kececinumbers-0.3.5.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
5
- kececinumbers-0.3.5.dist-info/METADATA,sha256=Q7s9Vpsy5iTD37ES5uo6zEDFoL99g73VS1RlSWe6Q2I,28797
6
- kececinumbers-0.3.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
7
- kececinumbers-0.3.5.dist-info/top_level.txt,sha256=VvlbQKmTjOlzBbvq54-AaXp_WPRZ5dOhw91lV-ytPRQ,14
8
- kececinumbers-0.3.5.dist-info/RECORD,,