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

Function testRandomEngineSeed

test/random.cpp:370–402  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

368
369template<typename T>
370void testRandomEngineSeed(randomEngineType type) {
371 SUPPORTED_TYPE_CHECK(T);
372 int elem = 4 * 32 * 1024;
373 uintl orig_seed = 0;
374 uintl new_seed = 1;
375 randomEngine e(type, orig_seed);
376
377 dtype ty = (dtype)dtype_traits<T>::af_type;
378 array d1 = randu(elem, ty, e);
379 e.setSeed(new_seed);
380 array d2 = randu(elem, ty, e);
381 e.setSeed(orig_seed);
382 array d3 = randu(elem, ty, e);
383 array d4 = randu(elem, ty, e);
384
385 vector<T> h1(elem);
386 vector<T> h2(elem);
387 vector<T> h3(elem);
388 vector<T> h4(elem);
389
390 d1.host((void *)h1.data());
391 d2.host((void *)h2.data());
392 d3.host((void *)h3.data());
393 d4.host((void *)h4.data());
394
395 for (int i = 0; i < elem; i++) {
396 ASSERT_EQ(h1[i], h3[i]) << "at : " << i;
397 if (ty != b8 && ty != s8 && ty != u8) {
398 ASSERT_NE(h1[i], h2[i]) << "at : " << i;
399 ASSERT_NE(h3[i], h4[i]) << "at : " << i;
400 }
401 }
402}
403
404TYPED_TEST(RandomEngineSeed, philoxSeedUniform) {
405 testRandomEngineSeed<TypeParam>(AF_RANDOM_ENGINE_PHILOX_4X32_10);

Callers

nothing calls this directly

Calls 3

randuFunction · 0.85
setSeedMethod · 0.80
hostMethod · 0.80

Tested by

no test coverage detected