[clfft] 05/10: test case class changes, adding 2d/3d tests
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Mar 30 15:49:30 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository clfft.
commit a811c3d19ddc7aaeef038379514606f81b49881a
Author: bragadeesh <bragadeesh.natarajan at amd>
Date: Wed Mar 23 11:52:32 2016 -0700
test case class changes, adding 2d/3d tests
---
src/tests/accuracy_test_directed.cpp | 123 +++++++++++++++++++++++------------
1 file changed, 82 insertions(+), 41 deletions(-)
diff --git a/src/tests/accuracy_test_directed.cpp b/src/tests/accuracy_test_directed.cpp
index 831e66b..c92da9f 100644
--- a/src/tests/accuracy_test_directed.cpp
+++ b/src/tests/accuracy_test_directed.cpp
@@ -163,17 +163,15 @@ namespace DirectedTest {
class TestListGenerator
{
- public:
-
- std::vector<ParametersPackedRealInplaceInterleaved> & parameter_sets() { return data_sets; }
-
- protected:
+ private:
std::vector<ParametersPackedRealInplaceInterleaved> data_sets;
-
- void supported_length_data(const size_t **supported_length, size_t *size_supported_length)
+ const size_t *supported_length;
+ size_t size_supported_length;
+
+ void supported_length_data()
{
// This array must be kept sorted in the ascending order
- static const size_t supported_length_array[] = {
+ static const size_t supported_length_array[] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, 28,
30, 32, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72, 75, 80,
81, 84, 90, 96, 98, 100, 105, 108, 112, 120, 125, 126, 128, 135, 140, 144,
@@ -192,16 +190,12 @@ namespace DirectedTest {
3136, 3150, 3200, 3240, 3360, 3375, 3402, 3430, 3456, 3500, 3528, 3584, 3600,
3645, 3675, 3750, 3780, 3840, 3888, 3920, 3969, 4000, 4032, 4050, 4096 };
- *supported_length = supported_length_array;
- *size_supported_length = sizeof(supported_length_array) / sizeof(supported_length_array[0]);
+ supported_length = supported_length_array;
+ size_supported_length = sizeof(supported_length_array) / sizeof(supported_length_array[0]);
}
- void generate(clfftDirection dir)
+ void generate_1d(clfftDirection dir)
{
- const size_t *supported_length = NULL;
- size_t size_supported_length = 0;
- supported_length_data(&supported_length, &size_supported_length);
-
for (size_t i = 0; i < size_supported_length; i++)
{
std::vector<size_t> length;
@@ -210,38 +204,62 @@ namespace DirectedTest {
}
}
- }; //class TestListGenerator
-
+ void generate_2d(clfftDirection dir)
+ {
+ for (size_t i = 0; i < size_supported_length; i++)
+ {
+ std::vector<size_t> length;
+ length.push_back(supported_length[i]);
+ length.push_back(supported_length[i]);
+ data_sets.push_back(ParametersPackedRealInplaceInterleaved(CLFFT_SINGLE, dir, CLFFT_2D, length, 1));
+ }
+ }
- class TestListGeneratorFwd1D : public TestListGenerator
- {
- public:
- TestListGeneratorFwd1D()
+ void generate_3d(clfftDirection dir)
{
- generate(CLFFT_FORWARD);
+ for (size_t i = 0; i < size_supported_length; i++)
+ {
+ std::vector<size_t> length;
+ length.push_back(supported_length[i]);
+ length.push_back(supported_length[i]);
+ length.push_back(supported_length[i]);
+ data_sets.push_back(ParametersPackedRealInplaceInterleaved(CLFFT_SINGLE, dir, CLFFT_3D, length, 1));
+
+ const size_t max_3d_length = 256;
+ if (supported_length[i] == max_3d_length) break;
+ }
}
- }; //class TestListGeneratorFwd1D
- class TestListGeneratorInv1D : public TestListGenerator
- {
public:
- TestListGeneratorInv1D()
+ TestListGenerator(clfftDim dimension, clfftDirection direction)
{
- generate(CLFFT_BACKWARD);
+ supported_length = NULL;
+ size_supported_length = 0;
+ supported_length_data();
+
+ switch (dimension)
+ {
+ case CLFFT_1D: generate_1d(direction); break;
+ case CLFFT_2D: generate_2d(direction); break;
+ case CLFFT_3D: generate_3d(direction); break;
+ }
}
- }; //class TestListGeneratorInv1D
+
+ std::vector<ParametersPackedRealInplaceInterleaved> & parameter_sets() { return data_sets; }
+
+ }; //class TestListGenerator
} //namespace DirectedTest
class accuracy_test_directed : public ::testing::TestWithParam<DirectedTest::ParametersPackedRealInplaceInterleaved> {
protected:
- accuracy_test_directed(){}
- virtual ~accuracy_test_directed(){}
- virtual void SetUp(){}
- virtual void TearDown(){}
+ accuracy_test_directed() {}
+ virtual ~accuracy_test_directed() {}
+ virtual void SetUp() {}
+ virtual void TearDown() {}
- void accuracy_test_directed_packed_real_inplace_interleaved()
+ virtual void accuracy_test_directed_packed_real_inplace_interleaved()
{
try
{
@@ -358,19 +376,42 @@ class accuracy_test_directed : public ::testing::TestWithParam<DirectedTest::Par
};
+TEST_P(accuracy_test_directed, real_inplace) { accuracy_test_directed_packed_real_inplace_interleaved(); }
-TEST_P( accuracy_test_directed, real_inplace ) {
- accuracy_test_directed_packed_real_inplace_interleaved();
-}
INSTANTIATE_TEST_CASE_P(
- clfft_DirectedTest_Fwd_1D,
+ clfft_DirectedTest_fwd_1d,
accuracy_test_directed,
- ::testing::ValuesIn( DirectedTest::TestListGeneratorFwd1D().parameter_sets())
-);
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_1D, CLFFT_FORWARD).parameter_sets())
+ );
+
+INSTANTIATE_TEST_CASE_P(
+ clfft_DirectedTest_inv_1d,
+ accuracy_test_directed,
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_1D, CLFFT_BACKWARD).parameter_sets())
+ );
INSTANTIATE_TEST_CASE_P(
- clfft_DirectedTest_Inv_1D,
+ clfft_DirectedTest_fwd_2d,
accuracy_test_directed,
- ::testing::ValuesIn(DirectedTest::TestListGeneratorInv1D().parameter_sets())
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_2D, CLFFT_FORWARD).parameter_sets())
);
+
+INSTANTIATE_TEST_CASE_P(
+ clfft_DirectedTest_inv_2d,
+ accuracy_test_directed,
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_2D, CLFFT_BACKWARD).parameter_sets())
+ );
+
+INSTANTIATE_TEST_CASE_P(
+ clfft_DirectedTest_fwd_3d,
+ accuracy_test_directed,
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_3D, CLFFT_FORWARD).parameter_sets())
+ );
+
+INSTANTIATE_TEST_CASE_P(
+ clfft_DirectedTest_inv_3d,
+ accuracy_test_directed,
+ ::testing::ValuesIn(DirectedTest::TestListGenerator(CLFFT_3D, CLFFT_BACKWARD).parameter_sets())
+ );
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/clfft.git
More information about the debian-science-commits
mailing list