vtk-m/vtkm
Kenneth Moreland 58fc99c2f8 Fix fast paths for ArrayRangeCompute
The precompiled `ArrayRangeCompute` function was not following proper fast
paths for special arrays. For example, when computing the range of an
`ArrayHandleUniformPointCoordinates`, the ranges should be taken from the
origin and spacing of the special array. However, the precompiled version
was calling the generic range computation, which was doing an unnecessary
reduction over the entire array. These fast paths have been fixed.

These mistakes in the code were caused by quirks in how templated method
overloading works. To prevent this mistake from happening again in the
precompiled `ArrayRangeCompute` function and elsewhere, all templated forms
of `ArrayRangeCompute` have been deprecated. Most will call
`ArrayRangeCompute` with no issues. For those that need the templated
version, `ArrayRangeComputeTemplate` replaces the old templated
`ArrayRangeCompute`. There is exactly one templated declaration of
`ArrayRangeComputeTemplate` that uses a class, `ArrayRangeComputeImpl`,
with partial specialization to ensure the correct form is used.
2023-03-08 12:36:53 -07:00
..
cont Fix fast paths for ArrayRangeCompute 2023-03-08 12:36:53 -07:00
exec Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
filter Fix fast paths for ArrayRangeCompute 2023-03-08 12:36:53 -07:00
internal Merge topic 'thrust-sorting' 2023-03-06 09:48:43 -05:00
interop Add module mechanism 2022-10-26 12:51:05 -06:00
io Merge branch 'master' into add_hdf5_reader 2023-01-16 17:56:36 -08:00
random Add module mechanism 2022-10-26 12:51:05 -06:00
rendering Changes for compiling with SYCL 2023-02-15 14:38:59 -07:00
source Change auto seed behavior in PerlinNoise source 2022-12-06 12:21:04 -07:00
testing Enable floating point exceptions on apple 2023-01-27 14:08:11 -07:00
thirdparty cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
worklet Change PointAverage to work on fields of any type 2023-02-03 14:52:04 -05:00
.gitattributes
Assert.h Disable VTKM_ASSERT when using HIP 2020-09-25 11:06:57 -04:00
Atomic.h CI: updates kokkos version 2021-09-20 18:23:16 -04:00
BinaryOperators.h
BinaryPredicates.h
Bitset.h Add unittest for particlearraycopy 2020-06-18 15:45:36 -04:00
Bounds.h Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellClassification.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellShape.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CellTraits.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CMakeLists.txt Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Deprecated.h Disable deprecation for MSVC 2017 2021-04-26 12:47:44 -06:00
ErrorCode.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Flags.h
Geometry.h
Geometry.hxx Update vtkm/Geometry.hxx to follow clangs rules on function markup 2020-09-25 09:37:46 -04:00
Hash.h
ImplicitFunction.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
List.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
LowerBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
Math.h Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:51:17 -05:00
Math.h.in Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:46:13 -05:00
Matrix.h Break LUP factorization when invalid matrix found 2021-07-12 10:29:46 -06:00
NewtonsMethod.h
Pair.h
Particle.h Hide Particle class members 2022-12-13 13:19:21 -05:00
Range.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
RangeId2.h
RangeId3.h
RangeId.h
StaticAssert.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Swap.h Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
TopologyElementTag.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Transform3D.h
Tuple.h Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Tuple.h.in Update doxygen comments in Tuple.h.in 2020-06-03 09:22:48 -06:00
TypeList.h Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
Types.h Fix dot product type promotion 2023-02-08 07:04:07 -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 Add VecFlat class 2020-12-16 17:22:44 -07:00
VecFlat.h Add more safety to VecTraits 2023-02-16 07:04:10 -07:00
VecFromPortal.h Automatically convert between ArrayHandleBasic and ArrayHandleRuntimeVec 2023-02-20 07:39:49 -07:00
VecFromPortalPermute.h
VectorAnalysis.h Avoid floating point exception in Orthonormalize 2021-07-12 10:29:46 -06:00
VecTraits.h Add more safety to VecTraits 2023-02-16 07:04:10 -07:00
VecVariable.h Generalize fields for particle advection 2020-07-20 21:15:46 -04:00
Version.h.in
vtkm.module Add module mechanism 2022-10-26 12:51:05 -06:00