mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
Simplify make_ArrayHandleSwizzle
Create a form that allows you to enumerate the indices as arguments rather than having to construct a Vec.
This commit is contained in:
parent
ae8d994d21
commit
79afe2a169
@ -386,6 +386,15 @@ VTKM_CONT ArrayHandleSwizzle<ArrayHandleType, OutSize> make_ArrayHandleSwizzle(
|
||||
{
|
||||
return ArrayHandleSwizzle<ArrayHandleType, OutSize>(array, map);
|
||||
}
|
||||
|
||||
template <typename ArrayHandleType, typename... SwizzleIndexTypes>
|
||||
VTKM_CONT ArrayHandleSwizzle<ArrayHandleType, sizeof...(SwizzleIndexTypes) + 1>
|
||||
make_ArrayHandleSwizzle(const ArrayHandleType& array,
|
||||
vtkm::IdComponent swizzleIndex0,
|
||||
SwizzleIndexTypes... swizzleIndices)
|
||||
{
|
||||
return make_ArrayHandleSwizzle(array, vtkm::make_Vec(swizzleIndex0, swizzleIndices...));
|
||||
}
|
||||
}
|
||||
} // namespace vtkm::cont
|
||||
|
||||
|
@ -327,7 +327,7 @@ void TestComponentMapValidator()
|
||||
bool error = false;
|
||||
try
|
||||
{
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, vtkm::make_Vec(0, 1, 2, 1));
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, 0, 1, 2, 1);
|
||||
error = true;
|
||||
}
|
||||
catch (vtkm::cont::ErrorBadValue& e)
|
||||
@ -338,7 +338,7 @@ void TestComponentMapValidator()
|
||||
|
||||
try
|
||||
{
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, vtkm::make_Vec(0, 1, 2, -1));
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, 0, 1, 2, -1);
|
||||
error = true;
|
||||
}
|
||||
catch (vtkm::cont::ErrorBadValue& e)
|
||||
@ -349,7 +349,7 @@ void TestComponentMapValidator()
|
||||
|
||||
try
|
||||
{
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, vtkm::make_Vec(0, 1, 2, 5));
|
||||
vtkm::cont::make_ArrayHandleSwizzle(dummy, 0, 1, 2, 5);
|
||||
error = true;
|
||||
}
|
||||
catch (vtkm::cont::ErrorBadValue& e)
|
||||
|
Loading…
Reference in New Issue
Block a user