FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

/******************************************************* * Copyright (c) 2014, ArrayFire * All rights reserved. * * This file is distributed under 3-clause BSD license. * The complete license agreement can be obtained at: * http://arrayfire.com/licenses/BSD-3-Clause ********************************************************/ #include #include #include #include #include #include #include #include #include #include using af::cdouble; using af::cfloat; using af::dim4; using af::dtype_traits; using std::endl; using std::string; using std::vector; template class Grad : public ::testing::Test { public: virtual void SetUp() { subMat0.push_back(af_make_seq(0, 4, 1)); subMat0.push_back(af_make_seq(2, 6, 1)); subMat0.push_back(af_make_seq(0, 2, 1)); } vector subMat0; }; // create a list of types to be tested typedef ::testing::Types TestTypes; // register the type list TYPED_TEST_SUITE(Grad, TestTypes); template void gradTest(string pTestFile, const unsigned resultIdx0, const unsigned resultIdx1, bool isSubRef = false, const vector* seqv = NULL) { SUPPORTED_TYPE_CHECK(T); vector numDims; vector in; vector tests; readTests(pTestFile, numDims, in, tests); dim4 idims = numDims[0]; af_array inArray = 0; af_array tempArray = 0; af_array g0Array = 0; af_array g1Array = 0; if (isSubRef) { ASSERT_SUCCESS(af_create_array(&tempArray, &(in[0].front()), idims.ndims(), idims.get(), (af_dtype)dtype_traits::af_type)); ASSERT_SUCCESS( af_index(&inArray, tempArray, seqv->size(), &seqv->front())); } else { ASSERT_SUCCESS(af_create_array(&inArray, &(in[0].front()), idims.ndims(), idims.get(), (af_dtype)dtype_traits::af_type)); } ASSERT_SUCCESS(af_gradient(&g0Array, &g1Array, inArray)); size_t nElems = tests[resultIdx0].size(); // Get result T* grad0Data = new T[tests[resultIdx0].size()]; ASSERT_SUCCESS(af_get_data_ptr((void*)grad0Data, g0Array)); // Compare result for (size_t elIter = 0; elIter < nElems; ++elIter) { ASSERT_EQ(tests[resultIdx0][elIter], grad0Data[elIter])

Back | FazBrowse Home | New Git URL