LINUX.ORG.RU

Быстрый (некачественный) рандом


0

2

Нужна функция для быстрого получения рандомных чисел от (0 - 256). Нужно для создания шума на изображении.

qrand() работает долго, rand() вроде по быстрее будет, но все равно хотелось бы быстрее.

UPD. Ссылки на математическое объяснение генерации случайных чисел и последующее самостоятельное написание функции тоже подходит.



Последнее исправление: knotri (всего исправлений: 1)
Ответ на: комментарий от emulek

А можно забульбенить аппаратный генератор на дробовом шуме ☺

Воткнуть его в PCI и получать мегашустрый random (хреновый, но зато мегашустрый). Правда, он будет ближе к Пуассону. Но ТСу-то пофиг.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Так нужно же что бы это у всех работало) Я уже думал сделать себе рандом из радиочастот, или чего то подобного.

knotri
() автор топика
Ответ на: комментарий от knotri

Распространяй софт вместе с зондом аппаратным генератором шума.

А вообще, нафига оно тебе нужно-то? Вот мне, например, здесь нужен был очень шустрый ГСЧ, чтобы "фотоны бросать" на зеркало.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Вот мне, например, здесь

Мне так лень учится как все это собирать... В суботу вечером гляну.))

knotri
() автор топика
Ответ на: комментарий от Eddy_Em

Воткнуть его в PCI и получать мегашустрый random

неа. Мегашустрого не получится. Ты одно число считать даже за 1600 тактов не сможешь, а даже мой атом как видишь без всяких GPU за 16 тактов справляется.

Правда, он будет ближе к Пуассону.

ну сделай, как Кнут говорит «квадрат»: возведи число в квадрат, и возьми те биты, что посередине. Получится равномерное распределение. Ещё лучше взять текущее число и умножить на прошлое(правда возникает некоторое уменьшение энтропии, но она почти всегда не имеет значения)

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.