Skip to content

Commit

Permalink
lines
Browse files Browse the repository at this point in the history
  • Loading branch information
gonidelis committed Sep 17, 2024
1 parent 3b7271f commit 44dc8d5
Show file tree
Hide file tree
Showing 24 changed files with 80 additions and 427 deletions.
2 changes: 1 addition & 1 deletion thrust/testing/replace.cu
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ DECLARE_VARIABLE_UNITTEST(TestReplace);
#ifndef THRUST_GCC13_TBB_MISCOMPILE
# ifndef THRUST_GCC12_OMP_MISCOMPILE
template <class Vector>
void TestReplaceCopySimple()
THRUST_DISABLE_BROKEN_GCC_VECTORIZER void TestReplaceCopySimple()
{
using T = typename Vector::value_type;

Expand Down
1 change: 1 addition & 0 deletions thrust/testing/reverse.cu
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ void TestReverseCopySimple()
Vector input{1, 2, 3, 4, 5};
Vector output(5);

// arm gcc is complaining here
Iterator iter = thrust::reverse_copy(input.begin(), input.end(), output.begin());

Vector ref{5, 4, 3, 2, 1};
Expand Down
1 change: 1 addition & 0 deletions thrust/testing/reverse_iterator.cu
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ void TestReverseIteratorCopy()

Vector destination(4, 0);

// arm gcc is complaining here
thrust::copy(
thrust::make_reverse_iterator(source.end()), thrust::make_reverse_iterator(source.begin()), destination.begin());

Expand Down
18 changes: 2 additions & 16 deletions thrust/testing/set_difference.cu
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,8 @@ void TestSetDifferenceSimple()
{
using Iterator = typename Vector::iterator;

Vector a(4), b(5);

a[0] = 0;
a[1] = 2;
a[2] = 4;
a[3] = 5;
b[0] = 0;
b[1] = 3;
b[2] = 3;
b[3] = 4;
b[4] = 6;

Vector ref(2);
ref[0] = 2;
ref[1] = 5;

Vector a{0, 2, 4, 5}, b{0, 3, 3, 4, 6};
Vector ref{2, 5};
Vector result(2);

Iterator end = thrust::set_difference(a.begin(), a.end(), b.begin(), b.end(), result.begin());
Expand Down
12 changes: 2 additions & 10 deletions thrust/testing/set_difference_by_key.cu
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,8 @@ void TestSetDifferenceByKeySimple()
{
using Iterator = typename Vector::iterator;

Vector a_key(4), b_key(5);
Vector a_val(4), b_val(5);

// clang-format off
a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 5;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0;

b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 6;
b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1;
// clang-format on
Vector a_key{0, 2, 4, 5}, b_key{0, 3, 3, 4, 6};
Vector a_val(4, 0), b_val(5, 1);

Vector ref_key(2), ref_val(2);
ref_key[0] = 2;
Expand Down
20 changes: 4 additions & 16 deletions thrust/testing/set_difference_by_key_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,10 @@ void TestSetDifferenceByKeyDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a_key(4), a_val(4);
Vector b_key(5), b_val(5);

// clang-format off
a_key[0] = 5; a_key[1] = 4; a_key[2] = 2; a_key[3] = 0;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0;

b_key[0] = 6; b_key[1] = 4; b_key[2] = 3; b_key[3] = 3; b_key[4] = 0;
b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1;
// clang-format on

Vector ref_key(2), ref_val(2);
ref_key[0] = 5;
ref_key[1] = 2;
ref_val[0] = 0;
ref_val[1] = 0;
Vector a_key{5, 4, 2, 0}, a_val(4, 0);
Vector b_key{6, 4, 3, 3, 0}, b_val(5, 1);

Vector ref_key{5, 2}, ref_val{0, 0};

Vector result_key(2), result_val(2);

Expand Down
12 changes: 2 additions & 10 deletions thrust/testing/set_difference_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,9 @@ void TestSetDifferenceDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a(4), b(5);

// clang-format off
a[0] = 5; a[1] = 4; a[2] = 2; a[3] = 0;
b[0] = 6; b[1] = 4; b[2] = 3; b[3] = 3; b[4] = 0;
// clang-format on

Vector ref(2);
ref[0] = 5;
ref[1] = 2;
Vector a{5, 4, 2, 0}, b{6, 4, 3, 3, 0};

Vector ref{5, 2};
Vector result(2);

Iterator end = thrust::set_difference(a.begin(), a.end(), b.begin(), b.end(), result.begin(), thrust::greater<T>());
Expand Down
15 changes: 2 additions & 13 deletions thrust/testing/set_intersection.cu
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,8 @@ void TestSetIntersectionSimple()
{
using Iterator = typename Vector::iterator;

Vector a(3), b(4);

a[0] = 0;
a[1] = 2;
a[2] = 4;
b[0] = 0;
b[1] = 3;
b[2] = 3;
b[3] = 4;

Vector ref(2);
ref[0] = 0;
ref[1] = 4;
Vector a{0, 2, 4}, b{0, 3, 3, 4};
Vector ref{0, 4};

Vector result(2);

Expand Down
16 changes: 3 additions & 13 deletions thrust/testing/set_intersection_by_key.cu
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,10 @@ void TestSetIntersectionByKeySimple()
{
using Iterator = typename Vector::iterator;

// clang-format off
Vector a_key(3), b_key(4);
Vector a_val(3);

a_key[0] = 0; a_key[1] = 2; a_key[2] = 4;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0;

b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4;

Vector ref_key(2), ref_val(2);
ref_key[0] = 0; ref_key[1] = 4;
ref_val[0] = 0; ref_val[1] = 0;
// clang-format on
Vector a_key{0, 2, 4}, b_key{0, 3, 3, 4};
Vector a_val(3, 0);

Vector ref_key{0, 4}, ref_val{0, 0};
Vector result_key(2), result_val(2);

thrust::pair<Iterator, Iterator> end = thrust::set_intersection_by_key(
Expand Down
16 changes: 3 additions & 13 deletions thrust/testing/set_intersection_by_key_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,10 @@ void TestSetIntersectionByKeyDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

// clang-format off
Vector a_key(3), b_key(4);
Vector a_val(3), b_val(4);

a_key[0] = 4; a_key[1] = 2; a_key[2] = 0;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0;

b_key[0] = 4; b_key[1] = 3; b_key[2] = 3; b_key[3] = 0;

Vector ref_key(2), ref_val(2);
ref_key[0] = 4; ref_key[1] = 0;
ref_val[0] = 0; ref_val[1] = 0;
// clang-format on
Vector a_key{4, 2, 0}, b_key{4, 3, 3, 0};
Vector a_val(3, 0);

Vector ref_key{4, 0}, ref_val{0, 0};
Vector result_key(2), result_val(2);

thrust::pair<Iterator, Iterator> end = thrust::set_intersection_by_key(
Expand Down
15 changes: 2 additions & 13 deletions thrust/testing/set_intersection_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,8 @@ void TestSetIntersectionDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a(3), b(4);

a[0] = 4;
a[1] = 2;
a[2] = 0;
b[0] = 4;
b[1] = 3;
b[2] = 3;
b[3] = 0;

Vector ref(2);
ref[0] = 4;
ref[1] = 0;
Vector a{4, 2, 0}, b{4, 3, 3, 0};
Vector ref{4, 0};

Vector result(2);

Expand Down
11 changes: 2 additions & 9 deletions thrust/testing/set_symmetric_difference.cu
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,9 @@ void TestSetSymmetricDifferenceSimple()
{
using Iterator = typename Vector::iterator;

// clang-format off
Vector a(4), b(5);

a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 6;
b[0] = 0; b[1] = 3; b[2] = 3; b[3] = 4; b[4] = 7;

Vector ref(5);
ref[0] = 2; ref[1] = 3; ref[2] = 3; ref[3] = 6; ref[4] = 7;
// clang-format on
Vector a{0, 2, 4, 6}, b{0, 3, 3, 4, 7};

Vector ref{2, 3, 3, 6, 7};
Vector result(5);

Iterator end = thrust::set_symmetric_difference(a.begin(), a.end(), b.begin(), b.end(), result.begin());
Expand Down
17 changes: 3 additions & 14 deletions thrust/testing/set_symmetric_difference_by_key.cu
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,10 @@ void TestSetSymmetricDifferenceByKeySimple()
{
using Iterator = typename Vector::iterator;

Vector a_key(4), b_key(5);
Vector a_val(4), b_val(5);

// clang-format off
a_key[0] = 0; a_key[1] = 2; a_key[2] = 4; a_key[3] = 6;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0;

b_key[0] = 0; b_key[1] = 3; b_key[2] = 3; b_key[3] = 4; b_key[4] = 7;
b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1;

Vector ref_key(5), ref_val(5);
ref_key[0] = 2; ref_key[1] = 3; ref_key[2] = 3; ref_key[3] = 6; ref_key[4] = 7;
ref_val[0] = 0; ref_val[1] = 1; ref_val[2] = 1; ref_val[3] = 0; ref_val[4] = 1;
// clang-format on
Vector a_key{0, 2, 4, 6}, b_key{0, 3, 3, 4, 7};
Vector a_val(4, 0), b_val(5, 1);

Vector ref_key{2, 3, 3, 6, 7}, ref_val{0, 1, 1, 0, 1};
Vector result_key(5), result_val(5);

thrust::pair<Iterator, Iterator> end = thrust::set_symmetric_difference_by_key(
Expand Down
17 changes: 3 additions & 14 deletions thrust/testing/set_symmetric_difference_by_key_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,10 @@ void TestSetSymmetricDifferenceByKeyDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a_key(4), b_key(5);
Vector a_val(4), b_val(5);

// clang-format off
a_key[0] = 6; a_key[1] = 4; a_key[2] = 2; a_key[3] = 0;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0; a_val[3] = 0;

b_key[0] = 7; b_key[1] = 4; b_key[2] = 3; b_key[3] = 3; b_key[4] = 0;
b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1; b_val[4] = 1;

Vector ref_key(5), ref_val(5);
ref_key[0] = 7; ref_key[1] = 6; ref_key[2] = 3; ref_key[3] = 3; ref_key[4] = 2;
ref_val[0] = 1; ref_val[1] = 0; ref_val[2] = 1; ref_val[3] = 1; ref_val[4] = 0;
// clang-format on
Vector a_key{6, 4, 2, 0}, b_key{7, 4, 3, 3, 0};
Vector a_val(4, 0), b_val(5, 1);

Vector ref_key{7, 6, 3, 3, 2}, ref_val{1, 0, 1, 1, 0};
Vector result_key(5), result_val(5);

thrust::pair<Iterator, Iterator> end = thrust::set_symmetric_difference_by_key(
Expand Down
11 changes: 2 additions & 9 deletions thrust/testing/set_symmetric_difference_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,9 @@ void TestSetSymmetricDifferenceDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

// clang-format off
Vector a(4), b(5);

a[0] = 6; a[1] = 4; a[2] = 2; a[3] = 0;
b[0] = 7; b[1] = 4; b[2] = 3; b[3] = 3; b[4] = 0;

Vector ref(5);
ref[0] = 7; ref[1] = 6; ref[2] = 3; ref[3] = 3; ref[4] = 2;
// clang-format on
Vector a{6, 4, 2, 0}, b{7, 4, 3, 3, 0};

Vector ref{7, 6, 3, 3, 2};
Vector result(5);

Iterator end =
Expand Down
37 changes: 4 additions & 33 deletions thrust/testing/set_union.cu
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,9 @@ void TestSetUnionSimple()
{
using Iterator = typename Vector::iterator;

Vector a(3), b(4);

a[0] = 0;
a[1] = 2;
a[2] = 4;
b[0] = 0;
b[1] = 3;
b[2] = 3;
b[3] = 4;

Vector ref(5);
ref[0] = 0;
ref[1] = 2;
ref[2] = 3;
ref[3] = 3;
ref[4] = 4;
Vector a{0, 2, 4}, b{0, 3, 3, 4};

Vector ref{0, 2, 3, 3, 4};
Vector result(5);

Iterator end = thrust::set_union(a.begin(), a.end(), b.begin(), b.end(), result.begin());
Expand All @@ -84,24 +70,9 @@ void TestSetUnionWithEquivalentElementsSimple()
{
using Iterator = typename Vector::iterator;

Vector a(3), b(5);

a[0] = 0;
a[1] = 2;
a[2] = 2;
b[0] = 0;
b[1] = 2;
b[2] = 2;
b[3] = 2;
b[4] = 3;

Vector ref(5);
ref[0] = 0;
ref[1] = 2;
ref[2] = 2;
ref[3] = 2;
ref[4] = 3;
Vector a{0, 2, 2}, b{0, 2, 2, 2, 3};

Vector ref{0, 2, 2, 2, 3};
Vector result(5);

Iterator end = thrust::set_union(a.begin(), a.end(), b.begin(), b.end(), result.begin());
Expand Down
17 changes: 3 additions & 14 deletions thrust/testing/set_union_by_key_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,10 @@ void TestSetUnionByKeyDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a_key(3), b_key(4);
Vector a_val(3), b_val(4);

// clang-format off
a_key[0] = 4; a_key[1] = 2; a_key[2] = 0;
a_val[0] = 0; a_val[1] = 0; a_val[2] = 0;

b_key[0] = 4; b_key[1] = 3; b_key[2] = 3; b_key[3] = 0;
b_val[0] = 1; b_val[1] = 1; b_val[2] = 1; b_val[3] = 1;

Vector ref_key(5), ref_val(5);
ref_key[0] = 4; ref_key[1] = 3; ref_key[2] = 3; ref_key[3] = 2; ref_key[4] = 0;
ref_val[0] = 0; ref_val[1] = 1; ref_val[2] = 1; ref_val[3] = 0; ref_val[4] = 0;
// clang-format on
Vector a_key{4, 2, 0}, b_key{4, 3, 3, 0};
Vector a_val(3, 0), b_val(4, 1);

Vector ref_key{4, 3, 3, 2, 0}, ref_val{0, 1, 1, 0, 0};
Vector result_key(5), result_val(5);

thrust::pair<Iterator, Iterator> end = thrust::set_union_by_key(
Expand Down
18 changes: 2 additions & 16 deletions thrust/testing/set_union_descending.cu
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,9 @@ void TestSetUnionDescendingSimple()
using T = typename Vector::value_type;
using Iterator = typename Vector::iterator;

Vector a(3), b(4);

a[0] = 4;
a[1] = 2;
a[2] = 0;
b[0] = 4;
b[1] = 3;
b[2] = 3;
b[3] = 0;

Vector ref(5);
ref[0] = 4;
ref[1] = 3;
ref[2] = 3;
ref[3] = 2;
ref[4] = 0;
Vector a{4, 2, 0}, b{4, 3, 3, 0};

Vector ref{4, 3, 3, 2, 0};
Vector result(5);

Iterator end = thrust::set_union(a.begin(), a.end(), b.begin(), b.end(), result.begin(), thrust::greater<T>());
Expand Down
Loading

0 comments on commit 44dc8d5

Please sign in to comment.