diff --git a/vtkm/worklet/CMakeLists.txt b/vtkm/worklet/CMakeLists.txt index 6f5a481ad..2cb2efc10 100644 --- a/vtkm/worklet/CMakeLists.txt +++ b/vtkm/worklet/CMakeLists.txt @@ -26,7 +26,6 @@ set(headers DispatcherCellNeighborhood.h DispatcherPointNeighborhood.h DispatcherReduceByKey.h - DotProduct.h FieldStatistics.h Gradient.h ImageDifference.h diff --git a/vtkm/worklet/DotProduct.h b/vtkm/worklet/DotProduct.h deleted file mode 100644 index 9c65bbce8..000000000 --- a/vtkm/worklet/DotProduct.h +++ /dev/null @@ -1,45 +0,0 @@ -//============================================================================ -// Copyright (c) Kitware, Inc. -// All rights reserved. -// See LICENSE.txt for details. -// -// This software is distributed WITHOUT ANY WARRANTY; without even -// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -// PURPOSE. See the above copyright notice for more information. -//============================================================================ -#ifndef vtk_m_worklet_DotProduct_h -#define vtk_m_worklet_DotProduct_h - -#include - -#include -#include - -namespace vtkm -{ -namespace worklet -{ - -class DotProduct : public vtkm::worklet::WorkletMapField -{ -public: - using ControlSignature = void(FieldIn, FieldIn, FieldOut); - - template - VTKM_EXEC void operator()(const vtkm::Vec& v1, - const vtkm::Vec& v2, - T& outValue) const - { - outValue = static_cast(vtkm::Dot(v1, v2)); - } - - template - VTKM_EXEC void operator()(T s1, T s2, T& outValue) const - { - outValue = static_cast(s1 * s2); - } -}; -} -} // namespace vtkm::worklet - -#endif // vtk_m_worklet_Normalize_h diff --git a/vtkm/worklet/testing/CMakeLists.txt b/vtkm/worklet/testing/CMakeLists.txt index e33abb921..486858e56 100644 --- a/vtkm/worklet/testing/CMakeLists.txt +++ b/vtkm/worklet/testing/CMakeLists.txt @@ -31,7 +31,6 @@ set(unit_tests UnitTestCosmoTools.cxx UnitTestCrossProduct.cxx UnitTestDescriptiveStatistics.cxx - UnitTestDotProduct.cxx UnitTestFieldStatistics.cxx UnitTestGraphConnectivity.cxx UnitTestInnerJoin.cxx diff --git a/vtkm/worklet/testing/UnitTestDotProduct.cxx b/vtkm/worklet/testing/UnitTestDotProduct.cxx deleted file mode 100644 index 5c2978ea3..000000000 --- a/vtkm/worklet/testing/UnitTestDotProduct.cxx +++ /dev/null @@ -1,105 +0,0 @@ -//============================================================================ -// Copyright (c) Kitware, Inc. -// All rights reserved. -// See LICENSE.txt for details. -// -// This software is distributed WITHOUT ANY WARRANTY; without even -// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -// PURPOSE. See the above copyright notice for more information. -//============================================================================ - -#include -#include - -#include - -namespace -{ - -template -T normalizedVector(T v) -{ - T vN = vtkm::Normal(v); - return vN; -} - -template -void createVectors(std::vector>& vecs1, - std::vector>& vecs2, - std::vector& result) -{ - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - result.push_back(1); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(-1), T(0), T(0)))); - result.push_back(-1); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(0), T(1), T(0)))); - result.push_back(0); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(0), T(-1), T(0)))); - result.push_back(0); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(1), T(1), T(0)))); - result.push_back(T(1.0 / vtkm::Sqrt(2.0))); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(1), T(1), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(1), T(0), T(0)))); - result.push_back(T(1.0 / vtkm::Sqrt(2.0))); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(-1), T(0), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(1), T(1), T(0)))); - result.push_back(-T(1.0 / vtkm::Sqrt(2.0))); - - vecs1.push_back(normalizedVector(vtkm::make_Vec(T(0), T(1), T(0)))); - vecs2.push_back(normalizedVector(vtkm::make_Vec(T(1), T(1), T(0)))); - result.push_back(T(1.0 / vtkm::Sqrt(2.0))); -} - -template -void TestDotProduct() -{ - std::vector> inputVecs1, inputVecs2; - std::vector answer; - createVectors(inputVecs1, inputVecs2, answer); - - vtkm::cont::ArrayHandle> inputArray1, inputArray2; - vtkm::cont::ArrayHandle outputArray; - inputArray1 = vtkm::cont::make_ArrayHandle(inputVecs1, vtkm::CopyFlag::Off); - inputArray2 = vtkm::cont::make_ArrayHandle(inputVecs2, vtkm::CopyFlag::Off); - - vtkm::worklet::DotProduct dotProductWorklet; - vtkm::worklet::DispatcherMapField dispatcherDotProduct( - dotProductWorklet); - dispatcherDotProduct.Invoke(inputArray1, inputArray2, outputArray); - - VTKM_TEST_ASSERT(outputArray.GetNumberOfValues() == inputArray1.GetNumberOfValues(), - "Wrong number of results for DotProduct worklet"); - - for (vtkm::Id i = 0; i < inputArray1.GetNumberOfValues(); i++) - { - vtkm::Vec v1 = inputArray1.ReadPortal().Get(i); - vtkm::Vec v2 = inputArray2.ReadPortal().Get(i); - T ans = answer[static_cast(i)]; - - VTKM_TEST_ASSERT(test_equal(ans, vtkm::Dot(v1, v2)), "Wrong result for dot product"); - } -} - -void TestDotProductWorklets() -{ - std::cout << "Testing DotProduct Worklet" << std::endl; - TestDotProduct(); - // TestDotProduct(); -} -} - -int UnitTestDotProduct(int argc, char* argv[]) -{ - return vtkm::cont::testing::Testing::Run(TestDotProductWorklets, argc, argv); -}