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

Function testGeneralAssignOneArray

test/gen_assign.cpp:38–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36using std::vector;
37
38void testGeneralAssignOneArray(string pTestFile, const dim_t ndims,
39 af_index_t *indexs, int arrayDim) {
40 vector<dim4> numDims;
41 vector<vector<float>> in;
42 vector<vector<float>> tests;
43
44 readTestsFromFile<float, float>(pTestFile, numDims, in, tests);
45
46 dim4 dims0 = numDims[0];
47 dim4 dims1 = numDims[1];
48 dim4 dims2 = numDims[2];
49 af_array outArray = 0;
50 af_array rhsArray = 0;
51 af_array lhsArray = 0;
52 af_array idxArray = 0;
53
54 ASSERT_SUCCESS(af_create_array(&lhsArray, &(in[0].front()), dims0.ndims(),
55 dims0.get(),
56 (af_dtype)dtype_traits<float>::af_type));
57
58 ASSERT_SUCCESS(af_create_array(&rhsArray, &(in[1].front()), dims1.ndims(),
59 dims1.get(),
60 (af_dtype)dtype_traits<float>::af_type));
61
62 ASSERT_SUCCESS(af_create_array(&idxArray, &(in[2].front()), dims2.ndims(),
63 dims2.get(),
64 (af_dtype)dtype_traits<float>::af_type));
65 indexs[arrayDim].idx.arr = idxArray;
66
67 ASSERT_SUCCESS(af_assign_gen(&outArray, lhsArray, ndims, indexs, rhsArray));
68
69 vector<float> currGoldBar = tests[0];
70 size_t nElems = currGoldBar.size();
71 vector<float> outData(nElems);
72
73 ASSERT_SUCCESS(af_get_data_ptr((void *)outData.data(), outArray));
74
75 for (size_t elIter = 0; elIter < nElems; ++elIter) {
76 ASSERT_EQ(currGoldBar[elIter], outData[elIter])
77 << "at: " << elIter << endl;
78 }
79
80 ASSERT_SUCCESS(af_release_array(rhsArray));
81 ASSERT_SUCCESS(af_release_array(lhsArray));
82 ASSERT_SUCCESS(af_release_array(idxArray));
83 ASSERT_SUCCESS(af_release_array(outArray));
84}
85
86TEST(GeneralAssign, ASSS) {
87 af_index_t indexs[2];

Callers 1

TESTFunction · 0.85

Calls 6

af_create_arrayFunction · 0.50
af_assign_genFunction · 0.50
af_get_data_ptrFunction · 0.50
af_release_arrayFunction · 0.50
ndimsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected