vtk-m2/vtkm
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
..
cont Reduce the size of lists used when serializing UnknownArrayHandle 2022-02-03 11:55:37 -07:00
exec Fixing dashboard warnings 2022-02-02 16:15:12 +05:30
filter Merge topic 'field_transform' 2022-02-02 17:18:07 -05:00
internal Fix build with MinGW 2022-01-19 16:41:42 +00:00
interop renamve vector_calculus -> vector_analysis 2022-01-31 08:58:38 -07:00
io Compile IO library without device compiler 2022-01-24 12:17:23 -07:00
random cmake: avoid adding testing directories if testing is disabled 2021-06-01 18:40:40 -04:00
rendering Merge topic 'volume-renderer-oob-fix' 2022-01-26 14:13:28 -05:00
source Migrate FieldConversion filters 2022-01-29 13:12:01 -07:00
testing Better implementation of ListAt 2022-02-08 16:36:10 -07:00
thirdparty cmake: allow VTK to skip soname links for libraries 2021-08-26 12:06:09 -04:00
worklet Merge topic 'field_transform' 2022-02-02 17:18:07 -05:00
.gitattributes
Algorithms.h Deprecate vtkm/BinarySearch.h, it is unused and similar to LowerBound 2021-04-07 19:10:28 +00:00
Assert.h
Atomic.h CI: updates kokkos version 2021-09-20 18:23:16 -04:00
BinaryOperators.h
BinaryPredicates.h
Bitset.h
Bounds.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
CellClassification.h add amr capability as filter 2021-12-13 09:33:47 -07:00
CellShape.h
CellTraits.h
CMakeLists.txt testing/Testing.h when VTKm_ENABLE_TESTING_LIBRARY 2021-10-01 13:17:16 -04:00
Deprecated.h Disable deprecation for MSVC 2017 2021-04-26 12:47:44 -06:00
ErrorCode.h
Flags.h
Geometry.h
Geometry.hxx
Hash.h
ImplicitFunction.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
List.h Better implementation of ListAt 2022-02-08 16:36:10 -07:00
ListTag.h
LowerBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
Math.h Remove recursion from FloatDistance 2021-08-02 09:50:41 -06:00
Math.h.in Remove recursion from FloatDistance 2021-08-02 09:50:41 -06:00
Matrix.h Break LUP factorization when invalid matrix found 2021-07-12 10:29:46 -06:00
NewtonsMethod.h
Pair.h
Particle.h Removing host/device being called from device warning 2021-09-01 17:54:41 -07:00
Range.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
RangeId2.h
RangeId3.h ExtractStructured now compiles quicker and with less compiler memory 2019-12-11 08:59:42 -05:00
RangeId.h
StaticAssert.h
Swap.h
TopologyElementTag.h
Transform3D.h
Tuple.h
Tuple.h.in
TypeList.h Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
TypeListTag.h
Types.h Allow for different types in basic type operators 2021-03-03 09:39:45 -07:00
TypeTraits.h Add implementation of ArrayRangeCompute for UnknownArrayHandle 2021-02-17 09:18:31 -07:00
UnaryPredicates.h
UpperBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
VecAxisAlignedPointCoordinates.h
VecFlat.h
VecFromPortal.h
VecFromPortalPermute.h
VecFromVirtPortal.h
VectorAnalysis.h Avoid floating point exception in Orthonormalize 2021-07-12 10:29:46 -06:00
VecTraits.h Add ability to convert fields to known types 2021-08-19 07:10:20 -06:00
VecVariable.h
Version.h.in
VirtualObjectBase.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00