MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / writeOut128Bytes

Function writeOut128Bytes

src/backend/cuda/kernel/random_engine.hpp:294–313  ·  view source on GitHub ↗

Writes without boundary checking

Source from the content-addressed store, hash-verified

292
293// Writes without boundary checking
294__device__ static void writeOut128Bytes(uchar *out, const uint &index,
295 const uint &r1, const uint &r2,
296 const uint &r3, const uint &r4) {
297 out[index] = r1;
298 out[index + blockDim.x] = r1 >> 8;
299 out[index + 2 * blockDim.x] = r1 >> 16;
300 out[index + 3 * blockDim.x] = r1 >> 24;
301 out[index + 4 * blockDim.x] = r2;
302 out[index + 5 * blockDim.x] = r2 >> 8;
303 out[index + 6 * blockDim.x] = r2 >> 16;
304 out[index + 7 * blockDim.x] = r2 >> 24;
305 out[index + 8 * blockDim.x] = r3;
306 out[index + 9 * blockDim.x] = r3 >> 8;
307 out[index + 10 * blockDim.x] = r3 >> 16;
308 out[index + 11 * blockDim.x] = r3 >> 24;
309 out[index + 12 * blockDim.x] = r4;
310 out[index + 13 * blockDim.x] = r4 >> 8;
311 out[index + 14 * blockDim.x] = r4 >> 16;
312 out[index + 15 * blockDim.x] = r4 >> 24;
313}
314
315__device__ static void writeOut128Bytes(schar *out, const uint &index,
316 const uint &r1, const uint &r2,

Callers 3

uniformPhiloxFunction · 0.70
uniformThreefryFunction · 0.70
uniformMersenneFunction · 0.70

Calls 3

getFloat01Function · 0.70
getDouble01Function · 0.70
oneMinusGetHalf01Function · 0.70

Tested by

no test coverage detected