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

Function gaussianKernelTest

test/gaussiankernel.cpp:36–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34
35template<typename T>
36void gaussianKernelTest(string pFileName, double sigma) {
37 SUPPORTED_TYPE_CHECK(T);
38
39 vector<dim4> numDims;
40 vector<vector<int>> in;
41 vector<vector<T>> tests;
42
43 readTestsFromFile<int, T>(pFileName, numDims, in, tests);
44
45 af_array outArray = 0;
46
47 vector<int> input(in[0].begin(), in[0].end());
48
49 ASSERT_SUCCESS(
50 af_gaussian_kernel(&outArray, input[0], input[1], sigma, sigma));
51
52 dim_t outElems = 0;
53 ASSERT_SUCCESS(af_get_elements(&outElems, outArray));
54 T *outData = new T[outElems];
55
56 ASSERT_SUCCESS(af_get_data_ptr((void *)outData, outArray));
57
58 vector<T> currGoldBar(tests[0].begin(), tests[0].end());
59 size_t nElems = currGoldBar.size();
60
61 ASSERT_EQ(outElems, (dim_t)nElems);
62
63 for (size_t elIter = 0; elIter < nElems; ++elIter) {
64 ASSERT_NEAR(currGoldBar[elIter], outData[elIter], 1.0e-3)
65 << "at: " << elIter << endl;
66 }
67
68 delete[] outData;
69 ASSERT_SUCCESS(af_release_array(outArray));
70}
71
72TYPED_TEST(GaussianKernel, Small1D) {
73 gaussianKernelTest<TypeParam>(string(TEST_DIR "/gaussian/gauss1_7.test"),

Callers

nothing calls this directly

Calls 4

af_get_elementsFunction · 0.85
af_gaussian_kernelFunction · 0.50
af_get_data_ptrFunction · 0.50
af_release_arrayFunction · 0.50

Tested by

no test coverage detected