LLM-Model / rastgele.py
YigitCahit's picture
Upload folder using huggingface_hub
ee0cacc verified
# file name 'rastgele.py'
import time
PI = 3.141592653589793
COS_TABLOSU = []
HASSASIYET = 2000
def log(x, iterasyon=100):
if x <= 0:
raise ValueError("log tanimsiz")
y = (x - 1) / (x + 1)
y2 = y * y
sonuc = 0.0
for i in range(iterasyon):
n = 2 * i + 1
sonuc += (y ** n) / n
return 2 * sonuc
def cos(x):
x = x % (2 * PI)
if x > PI:
x -= 2 * PI
sonuc = 0.0
terim = 1.0
for i in range(1, 20):
sonuc += terim
terim *= -x * x / ((2 * i - 1) * (2 * i))
return sonuc
def tohum_uret():
t = time.time()
mikrosaniye = int(t * 1_000_000)
a = mikrosaniye & 0xFFFF
b = (mikrosaniye >> 16) & 0xFFFF
c = (mikrosaniye >> 32) & 0xFFFF
karisik = (a * b * c) ^ (a << 3) ^ (b >> 2) ^ c
return karisik
def rastgele(tohum, n):
A = 1664525
C = 1013904223
M = 2**32
sonuclar = []
durum = tohum
for _ in range(n):
durum = (A * durum + C) % M
sonuclar.append(durum / M)
return sonuclar
def gauss_rastgele(tohum, n):
tekil = rastgele(tohum, n * 2 + 2)
sonuclar = []
for i in range(0, n * 2, 2):
u1 = max(tekil[i], 1e-10)
u2 = tekil[i+1]
ln = -2 * log(u1)
kok = ln ** 0.5
cos_deg = cos(2 * PI * u2)
sonuclar.append(kok * cos_deg)
return sonuclar[:n]