vtk-m2/vtkm/testing
Kenneth Moreland 9a94270e95 Better implementation of ListAt
The previous implementation of `ListAt` would iteratively pass through
the list to find the i'th entry. It was made faster by searching through
8 indices at a time, but it could still be time consuming for long
lists.

This change instead uses a divide-and-conquer approach. It does this by
first creating a `vtkm::List` with i repetitions of `const void*`. It
can do this by recursively splitting i in half and appending the
resulting lists together.

It then uses this list of `const void*` by constructing a method that
first takes these i `const void*` arguments, then a pointer, then
whatever. The method returns the type of that pointer. The method is
never actually defined, but a `declspec` can determine what the return
type should be.

This method was taken from brigand
(https://github.com/edouarda/brigand).
2022-02-08 16:36:10 -07:00
..
CMakeLists.txt testing/Testing.h when VTKm_ENABLE_TESTING_LIBRARY 2021-10-01 13:17:16 -04:00
Testing.h Turn on floating point exception trapping for GCC in tests 2021-07-12 10:29:37 -06:00
UnitTestAlgorithms.cxx Deprecate vtkm/BinarySearch.h, it is unused and similar to LowerBound 2021-04-07 19:10:28 +00:00
UnitTestAtomic.cxx Change interface of atomic compare and swap 2020-10-20 08:39:22 -06:00
UnitTestBinaryOperators.cxx Make BinaryOperators/Predicates more flexible. 2019-12-18 15:51:59 -05:00
UnitTestBinaryPredicates.cxx added missing MinAndMax BinaryOperator tests, updated formatting 2019-04-30 09:43:17 -06:00
UnitTestBounds.cxx Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
UnitTestCellShape.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestDeprecated.cxx Fix warnings 2020-08-12 13:55:24 -04:00
UnitTestExceptions.cxx RuntimeDeviceTracker can't be copied and is only accessible via reference. 2019-05-20 11:43:05 -04:00
UnitTestGeometry.cxx Add __func__ to unit test metadata printed on failure. 2021-04-12 12:54:38 -04:00
UnitTestHash.cxx Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
UnitTestList.cxx Better implementation of ListAt 2022-02-08 16:36:10 -07:00
UnitTestListTag.cxx Implement old ListTag features with new ListTag implementations 2019-12-08 19:20:34 -07:00
UnitTestLowerBound.cxx split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
UnitTestMath.cxx Add changes for supporting Kokkos/HIP 2021-10-01 15:27:00 -04:00
UnitTestMatrix.cxx Make matrix unit tests less verbose. 2021-02-08 16:18:13 -05:00
UnitTestNewtonsMethod.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestNoAssert.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
UnitTestPair.cxx Be more conservative about is_trivial support 2021-03-01 15:12:27 -07:00
UnitTestRange.cxx Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
UnitTestTesting.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestTransform3D.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestTuple.cxx Add vtkmstd::integer_sequence 2020-03-16 17:12:16 -06:00
UnitTestTypeList.cxx Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
UnitTestTypeListTag.cxx Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
UnitTestTypes.cxx Disable floating point exception traps when testing NaNs 2021-07-12 10:29:45 -06:00
UnitTestTypeTraits.cxx conslidate the license statement 2019-04-17 10:57:13 -06:00
UnitTestUnaryPredicates.cxx added missing MinAndMax BinaryOperator tests, updated formatting 2019-04-30 09:43:17 -06:00
UnitTestUpperBound.cxx split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
UnitTestVecAxisAlignedPointCoordinates.cxx Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
UnitTestVecFlat.cxx Add VecFlat class 2020-12-16 17:22:44 -07:00
UnitTestVecFromPortal.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestVecFromPortalPermute.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
UnitTestVectorAnalysis.cxx Fix build errors on Windows and compiler warnings on Ubuntu. 2021-04-07 08:09:39 -04:00
UnitTestVecTraits.cxx clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
UnitTestVecVariable.cxx Update lists in TypeListTag.h 2019-12-05 11:05:19 -07:00
VecTraitsTests.h Add recursive component queries to VecTraits 2019-09-09 08:19:15 -06:00