1
#include "random123/threefry.h"
4
threefry4x32_key_t k = {{a, 0xdecafbad, 0xfacebead, 0x12345678}}; \
5
threefry4x32_ctr_t c = {{0, 0xf00dcafe, 0xdeadbeef, 0xbeeff00d}};
10
threefry4x32_ctr_t c; \
14
u.c = threefry4x32(c, k); \
15
float4 res = convert_float4(u.i) / ((unsigned int)0x7FFFFFFF); \
16
a.x = res.x; a.y = res.y; b.x = res.z; b.y = res.w; \
19
__kernel void pi(__global unsigned long *res, unsigned long n, __global unsigned long *gmem, __local unsigned long *lmem) {
20
unsigned long hits = 0, i;
22
rnd_init(get_global_id(0))
24
for(i = 0; i < n; i+=2) {