mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
fixed a typo and added write support for ArrayHandleReverse
This commit is contained in:
parent
b6993a7650
commit
6054280431
@ -25,6 +25,8 @@
|
||||
#define vtk_m_cont_ArrayHandleReverse_h
|
||||
|
||||
#include <vtkm/cont/ArrayHandle.h>
|
||||
#include <vtkm/cont/ErrorBadType.h>
|
||||
#include <vtkm/cont/ErrorBadValue.h>
|
||||
|
||||
namespace vtkm {
|
||||
namespace cont {
|
||||
@ -59,7 +61,7 @@ public:
|
||||
|
||||
VTKM_EXEC_CONT
|
||||
void Set(vtkm::Id index, const ValueType &value) const {
|
||||
this->portal1.Set(portal.GetNumberOfValues() - index - 1, value);
|
||||
this->portal.Set(portal.GetNumberOfValues() - index - 1, value);
|
||||
}
|
||||
|
||||
private:
|
||||
@ -121,8 +123,8 @@ public:
|
||||
VTKM_CONT
|
||||
void Shrink( vtkm::Id vtkmNotUsed(numberOfValues) )
|
||||
{
|
||||
// throw vtkm::cont::ErrorBadType(
|
||||
// "ArrayHandleReverse cannot shrink.");
|
||||
throw vtkm::cont::Error(
|
||||
"ArrayHandleReverse cannot shrink.");
|
||||
}
|
||||
|
||||
VTKM_CONT
|
||||
@ -199,8 +201,8 @@ public:
|
||||
VTKM_CONT
|
||||
void Shrink( vtkm::Id vtkmNotUsed(numberOfValues) )
|
||||
{
|
||||
// throw vtkm::cont::ErrorBadType(
|
||||
// "ArrayHandleReverse cannot shrink.");
|
||||
throw vtkm::cont::ErrorBadType(
|
||||
"ArrayHandleReverse cannot shrink.");
|
||||
}
|
||||
|
||||
VTKM_CONT
|
||||
|
@ -27,7 +27,9 @@ namespace UnitTestArrayHandleIndexNamespace {
|
||||
|
||||
const vtkm::Id ARRAY_SIZE = 10;
|
||||
|
||||
void TestArrayHandleReverse() {
|
||||
|
||||
void TestArrayHandleReverseRead()
|
||||
{
|
||||
vtkm::cont::ArrayHandleIndex array(ARRAY_SIZE);
|
||||
VTKM_TEST_ASSERT(array.GetNumberOfValues() == ARRAY_SIZE, "Bad size.");
|
||||
|
||||
@ -45,9 +47,34 @@ void TestArrayHandleReverse() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TestArrayHandleReverseWrite()
|
||||
{
|
||||
std::vector<vtkm::Id> ids(ARRAY_SIZE, 0);
|
||||
vtkm::cont::ArrayHandle<vtkm::Id> handle = vtkm::cont::make_ArrayHandle(ids);
|
||||
|
||||
vtkm::cont::ArrayHandleReverse<vtkm::cont::ArrayHandle<vtkm::Id>> reverse =
|
||||
vtkm::cont::make_ArrayHandleReverse(handle);
|
||||
|
||||
for (vtkm::Id index = 0; index < ARRAY_SIZE; index++) {
|
||||
reverse.GetPortalControl().Set(index, index);
|
||||
}
|
||||
|
||||
for (vtkm::Id index = 0; index < ARRAY_SIZE; index++) {
|
||||
VTKM_TEST_ASSERT(handle.GetPortalConstControl().Get(index) == (9 - index),
|
||||
"ArrayHandleReverse does not reverse array");
|
||||
}
|
||||
}
|
||||
|
||||
void TestArrayHandleReverse()
|
||||
{
|
||||
TestArrayHandleReverseRead();
|
||||
TestArrayHandleReverseWrite();
|
||||
}
|
||||
};// namespace UnitTestArrayHandleIndexNamespace
|
||||
|
||||
int UnitTestArrayHandleReverse(int, char *[]) {
|
||||
int UnitTestArrayHandleReverse(int, char *[])
|
||||
{
|
||||
using namespace UnitTestArrayHandleIndexNamespace;
|
||||
return vtkm::cont::testing::Testing::Run(TestArrayHandleReverse);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user