Cython'da [0,1]
rasgele bir rasgele oluşturmanın en verimli ve taşınabilir yolu nedir?Cython'da rasgele sayılar oluşturmak için doğru yol?
from libc.stdlib cimport rand
cdef extern from "limits.h":
int INT_MAX
cdef float randnum = rand()/float(INT_MAX)
bu şekilde INT_MAX
kullanılabilir mi: Bir yaklaşım C kütüphanesinden INT_MAX
ve rand()
kullanmaktır?
import sys
print INT_MAX
print sys.maxint
verimleri: Bence sen Python'un maksimum int aldığım sabit oldukça farklı olduğunu fark
2147483647 (C max int)
9223372036854775807 (python max int)
rand()
için doğru "normalleşme" sayı hangisi? DÜZENLEME ek olarak, rasgele tohum (örneğin, şu anki zamana göre tohumlanmış) nasıl bir çağrı C yaklaşımını kullanıyorsa rand()
libc?
Birkaç bin numunenin maksimum ve minimum değerlerini almayı ve hangi ölçekleme faktörünün "1.0" yakınında olduğunu görmeyi denediniz mi? – phs
Lütfen "[rand() zararlı olarak göz atın] (https://channel9.msdn.com/Events/GoingNative/2013/rand-Considered-Harmful)" –