simplified how atomic arrays create execution objects

the way atomic arrays created objects was a little over cmplicated, this commit makes it much simpler
This commit is contained in:
Matthew Letter 2018-07-09 15:04:23 -06:00
parent f1ee5b92ae
commit 6ce895be8d

@ -61,32 +61,21 @@ public:
template <typename Device>
VTKM_CONT vtkm::exec::AtomicArrayExecutionObject<T, Device> PrepareForExecution(Device) const
{
vtkm::exec::AtomicArrayExecutionObject<T, Device> execObject;
if (isHandle)
{
execObject = vtkm::exec::AtomicArrayExecutionObject<T, Device>(this->Handle);
}
else
{
execObject = vtkm::exec::AtomicArrayExecutionObject<T, Device>();
}
return execObject;
return vtkm::exec::AtomicArrayExecutionObject<T, Device>(this->Handle);
}
VTKM_CONT
AtomicArray()
: isHandle(false)
: Handle(vtkm::cont::ArrayHandle<T>())
{
}
template <typename StorageType>
VTKM_CONT AtomicArray(vtkm::cont::ArrayHandle<T, StorageType> handle)
: isHandle(true)
, Handle(handle)
: Handle(handle)
{
}
private:
bool isHandle;
vtkm::cont::ArrayHandle<T> Handle;
};
}