:このようなPRNGを介して実行時にのPRNGとシード値
inputseed = {763261}
seedobja = 1103515.245
seedobjc = 12345
seedobjm = 4294967.295 --0x100000000
function srandom(seedobj, fVal1, fVal2)
seedobj[1] = mod(seedobj[1] * seedobja + seedobjc, seedobjm)
local temp_rand = seedobj[1]/(seedobjm - 1)
if (fVal2) then
return floor(fVal1 + 0.5 + temp_rand * (fVal2 - fVal1))
elseif (fVal1) then
return floor(temp_rand * fVal1) + 1
else
return temp_rand
end
end
-- the returned value should be a float between 0 and 1
local randomvalue_a = srandom(inputseed)
-- the returned value should be an integer between 10 and 20
local randomvalue_b = srandom(inputseed, 10, 20)
私の質問は、同様のシード値は、同様の結果を生むんですか?
つまり、数字3と数字5は、3001のような大きな数字に比べて近くにあります。最初の2つの数字は、同様の疑似乱数値を生成する可能性がありますか?
ありがとうございました。
その発電機は私には見えません。それは整数LCGに基づいているようですが、浮動小数点に間違って適合しています。 – sh1