kececinumbers 0.5.0__py3-none-any.whl → 0.5.1__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 +3 -1
- kececinumbers/_version.py +1 -1
- kececinumbers/kececinumbers.py +51 -0
- {kececinumbers-0.5.0.dist-info → kececinumbers-0.5.1.dist-info}/METADATA +1 -1
- kececinumbers-0.5.1.dist-info/RECORD +10 -0
- kececinumbers-0.5.0.dist-info/RECORD +0 -10
- {kececinumbers-0.5.0.dist-info → kececinumbers-0.5.1.dist-info}/WHEEL +0 -0
- {kececinumbers-0.5.0.dist-info → kececinumbers-0.5.1.dist-info}/licenses/LICENSE +0 -0
- {kececinumbers-0.5.0.dist-info → kececinumbers-0.5.1.dist-info}/top_level.txt +0 -0
kececinumbers/__init__.py
CHANGED
@@ -22,7 +22,7 @@ import warnings
|
|
22
22
|
# importlib.reload(kececinumbers) # F821 undefined name 'kececinumbers'
|
23
23
|
|
24
24
|
# Paket sürüm numarası
|
25
|
-
__version__ = "0.
|
25
|
+
__version__ = "0.5.1"
|
26
26
|
__author__ = "Mehmet Keçeci"
|
27
27
|
__email__ = "mkececi@yaani.com"
|
28
28
|
|
@@ -40,6 +40,7 @@ __all__ = [
|
|
40
40
|
'get_interactive',
|
41
41
|
'get_random_type',
|
42
42
|
'_get_integer_representation',
|
43
|
+
'generate_kececi_vectorial',
|
43
44
|
|
44
45
|
# --- Core Generation and Analysis ---
|
45
46
|
'unified_generator',
|
@@ -85,6 +86,7 @@ try:
|
|
85
86
|
get_interactive,
|
86
87
|
get_random_type,
|
87
88
|
_get_integer_representation,
|
89
|
+
generate_kececi_vectorial,
|
88
90
|
unified_generator,
|
89
91
|
is_prime,
|
90
92
|
find_period,
|
kececinumbers/_version.py
CHANGED
kececinumbers/kececinumbers.py
CHANGED
@@ -482,6 +482,57 @@ def get_random_type(num_iterations: int, fixed_start_raw: str = "0", fixed_add_b
|
|
482
482
|
add_value_base_scalar=fixed_add_base_scalar
|
483
483
|
)
|
484
484
|
|
485
|
+
def generate_kececi_vectorial(q0_str, c_str, u_str, iterations):
|
486
|
+
"""
|
487
|
+
Keçeci Haritası'nı tam vektörel toplama ile üreten geliştirilmiş fonksiyon.
|
488
|
+
Bu, kütüphanenin ana üretim fonksiyonu olabilir.
|
489
|
+
Tüm girdileri metin (string) olarak alarak esneklik sağlar.
|
490
|
+
"""
|
491
|
+
try:
|
492
|
+
# Girdi metinlerini kuaterniyon nesnelerine dönüştür
|
493
|
+
w, x, y, z = map(float, q0_str.split(','))
|
494
|
+
q0 = np.quaternion(w, x, y, z)
|
495
|
+
|
496
|
+
cw, cx, cy, cz = map(float, c_str.split(','))
|
497
|
+
c = np.quaternion(cw, cx, cy, cz)
|
498
|
+
|
499
|
+
uw, ux, uy, uz = map(float, u_str.split(','))
|
500
|
+
u = np.quaternion(uw, ux, uy, uz)
|
501
|
+
|
502
|
+
except (ValueError, IndexError):
|
503
|
+
raise ValueError("Girdi metinleri 'w,x,y,z' formatında olmalıdır.")
|
504
|
+
|
505
|
+
trajectory = [q0]
|
506
|
+
prime_events = []
|
507
|
+
current_q = q0
|
508
|
+
|
509
|
+
for i in range(iterations):
|
510
|
+
y = current_q + c
|
511
|
+
processing_val = y
|
512
|
+
|
513
|
+
while True:
|
514
|
+
scalar_int = int(processing_val.w)
|
515
|
+
|
516
|
+
if scalar_int % 2 == 0:
|
517
|
+
next_q = processing_val / 2.0
|
518
|
+
break
|
519
|
+
elif scalar_int % 3 == 0:
|
520
|
+
next_q = processing_val / 3.0
|
521
|
+
break
|
522
|
+
elif is_prime(scalar_int):
|
523
|
+
if processing_val == y:
|
524
|
+
prime_events.append((i, scalar_int))
|
525
|
+
processing_val += u
|
526
|
+
continue
|
527
|
+
else:
|
528
|
+
next_q = processing_val
|
529
|
+
break
|
530
|
+
|
531
|
+
trajectory.append(next_q)
|
532
|
+
current_q = next_q
|
533
|
+
|
534
|
+
return trajectory, prime_events
|
535
|
+
|
485
536
|
# ==============================================================================
|
486
537
|
# --- CORE GENERATOR ---
|
487
538
|
# ==============================================================================
|
@@ -0,0 +1,10 @@
|
|
1
|
+
docs/conf.py,sha256=jkpH_TchRJcC_EspKeY1E_rml2ODmIWhWoqvyCPu_ok,1116
|
2
|
+
kececinumbers/__init__.py,sha256=46zrd9XM0kqAIVXSlUexM7_d34oqRJIy8vDlvNisWBU,3688
|
3
|
+
kececinumbers/_version.py,sha256=G77E2WdNRJZcFQMn5X8NPZsy8EaBiuqWmenbOjRRClQ,453
|
4
|
+
kececinumbers/kececinumbers.py,sha256=XvIcSwXMyaEH8Aonz5OQKAk4DA0kOed4tTGejQCzh4w,41300
|
5
|
+
kececinumbers-0.5.1.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
|
6
|
+
tests/test_sample.py,sha256=qMWUBGQtlF1gZHZ_e6Gye1vHtyNnUWH7iXK72a1y6VQ,9728
|
7
|
+
kececinumbers-0.5.1.dist-info/METADATA,sha256=28TwzglS8JW-MFpvppBGRTKQ1v-NaC593kfL1hoR_zM,32989
|
8
|
+
kececinumbers-0.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
9
|
+
kececinumbers-0.5.1.dist-info/top_level.txt,sha256=ABQEKRH9iYb4sWnFdx7gIx7Hg899YktRkQpbRlSSqwU,25
|
10
|
+
kececinumbers-0.5.1.dist-info/RECORD,,
|
@@ -1,10 +0,0 @@
|
|
1
|
-
docs/conf.py,sha256=jkpH_TchRJcC_EspKeY1E_rml2ODmIWhWoqvyCPu_ok,1116
|
2
|
-
kececinumbers/__init__.py,sha256=tCKFkdwko6B2z0Bo63cxwO3TBq-LzqN0dF0aKtOg2Bo,3620
|
3
|
-
kececinumbers/_version.py,sha256=foYPLIQB7lNRVGRtUimFqzjxt3Gy2A41-cdgEBuRAz0,453
|
4
|
-
kececinumbers/kececinumbers.py,sha256=nlK65PcoiCJ32xbnwLpNFesfTiaksUyodqc2bj7lcSk,39705
|
5
|
-
kececinumbers-0.5.0.dist-info/licenses/LICENSE,sha256=NJZsJEbQuKzxn1mWPWCbRx8jRUqGS22thl8wwuRQJ9c,1071
|
6
|
-
tests/test_sample.py,sha256=qMWUBGQtlF1gZHZ_e6Gye1vHtyNnUWH7iXK72a1y6VQ,9728
|
7
|
-
kececinumbers-0.5.0.dist-info/METADATA,sha256=U1-rhW9On5huVeDG0M-0_AUbe05A2xsXB9MDiqRdgQU,32989
|
8
|
-
kececinumbers-0.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
9
|
-
kececinumbers-0.5.0.dist-info/top_level.txt,sha256=ABQEKRH9iYb4sWnFdx7gIx7Hg899YktRkQpbRlSSqwU,25
|
10
|
-
kececinumbers-0.5.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|