1
0
şunun yansıması https://github.com/rspamd/rspamd.git eşitlendi 2024-08-19 02:10:31 +02:00
rspamd/test/lua/pcall_test.lua
2018-08-20 10:27:12 +01:00

46 satır
983 B
Lua
Ham Suçlama Geçmiş

Bu dosya muğlak Evrensel Kodlu karakter içeriyor

Bu dosya, başka karakterlerle karıştırılabilecek evrensel kodlu karakter içeriyor. Eğer bunu kasıtlı olarak yaptıysanız bu uyarıyı yok sayabilirsiniz. Gizli karakterleri göstermek için Kaçış Karakterli düğmesine tıklayın.

--[[ https://en.wikipedia.org/wiki/Normal_distribution ]]
-- The BoxMuller method
local function gaussian(mean, variance)
local U = math.random()
local V = math.random()
return math.sqrt(-2.0 * variance * math.log(U)) *
math.cos(2.0 * math.pi * V) + mean
end
local function mean(t)
local sum = 0
local count = #t
for i = 1, count do
sum = sum + t[i]
end
return sum / count
end
local function std(t, mean)
local squares = 0.0
for i = 1, #t do
local deviation = math.abs(mean - t[i])
squares = squares + deviation * deviation
end
local variance = squares / #t
return math.sqrt(variance)
end
local function do_the_call()
local t = {}
local mu = 34.0
local sigma = 10.0
for i = 1, 5 do
table.insert(t, gaussian(mu, sigma))
end
return string.format("Got mean: %1.5f, mu: %1.5f\nstd deviance:%1.5f, expected: %1.5f",
mean(t), mu,
std(t, mu), math.sqrt(sigma))
end
math.randomseed(os.time())
return do_the_call