/
redgpu
/
ispc
Обзор
Документация
Войти
/
redgpu
/
ispc
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
test
tests/rdrand-6.ispc
32 строки
823 B
Dmitry Babokin
Remove debug prints under ISPC_TARGET_GENX from tests, they were not working anyway
31 авг 2021, 02:47
31 авг 2021, 02:47
ec21285
Код
Авторство
О чём код?
#include "../test_static.isph" task void f_f(uniform float RET[], uniform float aFOO[]) { #ifndef ISPC_HAS_RAND RET[programIndex] = 0; #else int set[32] = { 0 }; uniform int count = 1024*1024; for (uniform int i = 0; i < count; ++i) { uniform int32 rr[programCount]; int * ptr = rr + programIndex; while (!rdrand(ptr)) ; int32 r = rr[programIndex]; for (uniform int b = 0; b < 32; ++b) if (((unsigned int32)r >> b) & 1) ++set[b]; } RET[programIndex] = 0; for (uniform int b = 0; b < 32; ++b) { float r = (double)set[b] / (double)(count); if (!(r >= .49 && r < .51)) { ++RET[programIndex]; } } #endif } task void result(uniform float RET[]) { RET[programIndex] = 0; }