Hay mucha información conflictiva sobre este tema. Así que intentemos acordar una respuesta definitiva:C: la verdad definitiva sobre rand, random y arc4random
¿Cuál de estos generadores de números aleatorios en C crea una mejor aleatoriedad: rand, random o arc4random?
nota: Sólo para hacer la pregunta clara, esto no es una pregunta sobre la aleatoriedad real, es sólo un choque entre los 3.
Como se ha señalado, esta pregunta no tiene mucho sentido, ya que no se trata de C, sino de una implementación específica, en mi caso, cocoa (más específicamente, el sdk de iphone, pero supongo que son los mismos en lo que respecta a estas funciones). Aún así, hay información útil aquí. Concluí implementando arc4random, principalmente debido a su facilidad de uso (no se necesita siembra), que es un factor importante que nadie señaló.
Estoy cerrando la pregunta y agregando la etiqueta de cacao para los desarrolladores de cacao que buscan información sobre los RNG. Muchas gracias por los que contribuyeron y disculpen la confusión.
¿Qué pasa con la familia drand48() de PRNGs? Mi evaluación sería 'no en el Estándar C', parte de POSIX/SUS; generalmente mejor que rand; probablemente no sea tan bueno como random() y sus funciones de soporte. –
La pregunta no tiene sentido. Solo rand() es parte del lenguaje C, y el estándar no dice nada sobre cuán aleatorio debería ser o cómo debería implementarse. – jalf
Sí, claramente cometí un error. Debería haber sido reducido al cacao. ¿Y ahora qué? Cambiar el alcance de la pregunta haría las respuestas incómodas.Pero aquí hay información útil para los desarrolladores de cacao, y cerrar la pregunta lo enviaría todo al limbo. ¿Qué hacer? –