From c2a9f184cf1c5a41b8e6a468aac4fc62fafcb9a0 Mon Sep 17 00:00:00 2001 From: Patricia Kroll Fasel - 090207 Date: Mon, 21 Sep 2015 11:55:10 -0600 Subject: [PATCH 1/3] Fix syntax of ArrayHandleCounting usage --- vtkm/worklet/CMakeLists.txt | 2 ++ vtkm/worklet/FieldHistogram.h | 2 +- vtkm/worklet/testing/CMakeLists.txt | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/vtkm/worklet/CMakeLists.txt b/vtkm/worklet/CMakeLists.txt index d947b0382..f5fa9bde8 100644 --- a/vtkm/worklet/CMakeLists.txt +++ b/vtkm/worklet/CMakeLists.txt @@ -27,6 +27,8 @@ set(headers CellAverage.h Clip.h ExternalFaces.h + FieldHistogram.h + FieldStatistics.h IsosurfaceUniformGrid.h MarchingCubesDataTables.h PointElevation.h diff --git a/vtkm/worklet/FieldHistogram.h b/vtkm/worklet/FieldHistogram.h index 9674b64fc..357d46ac5 100644 --- a/vtkm/worklet/FieldHistogram.h +++ b/vtkm/worklet/FieldHistogram.h @@ -157,7 +157,7 @@ public: // Get the upper bound of each bin number vtkm::cont::ArrayHandle totalCount; - vtkm::cont::ArrayHandleCounting binCounter(0, numberOfBins); + vtkm::cont::ArrayHandleCounting binCounter(0, 1, numberOfBins); DeviceAlgorithms::UpperBounds(binIndex, binCounter, totalCount); // Difference between adjacent items is the bin count diff --git a/vtkm/worklet/testing/CMakeLists.txt b/vtkm/worklet/testing/CMakeLists.txt index 4f0b95451..b52ffde4f 100644 --- a/vtkm/worklet/testing/CMakeLists.txt +++ b/vtkm/worklet/testing/CMakeLists.txt @@ -22,6 +22,8 @@ set(unit_tests UnitTestCellAverage.cxx UnitTestClipping.cxx UnitTestExternalFaces.cxx + UnitTestFieldHistogram.cxx + UnitTestFieldStatistics.cxx UnitTestIsosurfaceUniformGrid.cxx UnitTestPointElevation.cxx UnitTestSplatKernels.cxx From 0e0f5d2e75ec3a4437a34b07ecf0c7d4eadc3ddd Mon Sep 17 00:00:00 2001 From: Patricia Kroll Fasel - 090207 Date: Thu, 1 Oct 2015 12:26:44 -0600 Subject: [PATCH 2/3] Fix compiler warnings. --- vtkm/worklet/FieldHistogram.h | 10 +++++----- vtkm/worklet/FieldStatistics.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/vtkm/worklet/FieldHistogram.h b/vtkm/worklet/FieldHistogram.h index 357d46ac5..2f904ed7b 100644 --- a/vtkm/worklet/FieldHistogram.h +++ b/vtkm/worklet/FieldHistogram.h @@ -70,13 +70,13 @@ public: typedef void ExecutionSignature(_1,_2); typedef _1 InputDomain; - vtkm::UInt32 numberOfBins; + vtkm::Id numberOfBins; FieldType minValue; FieldType delta; VTKM_CONT_EXPORT SetHistogramBin( - vtkm::UInt32 numberOfBins0, + vtkm::Id numberOfBins0, FieldType minValue0, FieldType delta0) : numberOfBins(numberOfBins0), @@ -86,7 +86,7 @@ public: VTKM_EXEC_EXPORT void operator()(const FieldType &value, vtkm::Id &binIndex) const { - binIndex = static_cast((value - minValue) / delta); + binIndex = static_cast((value - minValue) / delta); if (binIndex < 0) binIndex = 0; if (binIndex >= numberOfBins) @@ -122,7 +122,7 @@ public: // Execute the histogram binning filter given data and number of bins void Run(vtkm::cont::ArrayHandle fieldArray, - vtkm::UInt32 numberOfBins, + vtkm::Id numberOfBins, FieldType* minValue, FieldType* delta, vtkm::cont::ArrayHandle binArray) @@ -131,7 +131,7 @@ public: typedef typename vtkm::cont::ArrayHandle::PortalConstControl FieldPortal; typedef typename vtkm::cont::ArrayHandle::PortalConstControl IdPortal; - int numberOfValues = fieldArray.GetNumberOfValues(); + vtkm::Id numberOfValues = fieldArray.GetNumberOfValues(); vtkm::cont::ArrayHandle tempArray; DeviceAlgorithms::Copy(fieldArray, tempArray); diff --git a/vtkm/worklet/FieldStatistics.h b/vtkm/worklet/FieldStatistics.h index cc521d7e6..bf6047b58 100644 --- a/vtkm/worklet/FieldStatistics.h +++ b/vtkm/worklet/FieldStatistics.h @@ -148,7 +148,7 @@ public: DeviceAlgorithms::Sort(tempArray); FieldPortal tempPortal = tempArray.GetPortalControl(); - int dataSize = tempPortal.GetNumberOfValues(); + vtkm::Id dataSize = tempPortal.GetNumberOfValues(); FieldType numValues = static_cast(dataSize); // Median From 49940a4cbfec01c573b086c1e6a59c168cd97fdc Mon Sep 17 00:00:00 2001 From: Patricia Kroll Fasel - 090207 Date: Thu, 1 Oct 2015 15:08:36 -0600 Subject: [PATCH 3/3] Attempt to fix compiler errors and warnings. --- vtkm/worklet/FieldHistogram.h | 1 - vtkm/worklet/FieldStatistics.h | 7 ++----- vtkm/worklet/testing/UnitTestFieldHistogram.cxx | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/vtkm/worklet/FieldHistogram.h b/vtkm/worklet/FieldHistogram.h index 2f904ed7b..33e0ffd4b 100644 --- a/vtkm/worklet/FieldHistogram.h +++ b/vtkm/worklet/FieldHistogram.h @@ -129,7 +129,6 @@ public: { typedef typename vtkm::cont::DeviceAdapterAlgorithm DeviceAlgorithms; typedef typename vtkm::cont::ArrayHandle::PortalConstControl FieldPortal; - typedef typename vtkm::cont::ArrayHandle::PortalConstControl IdPortal; vtkm::Id numberOfValues = fieldArray.GetNumberOfValues(); diff --git a/vtkm/worklet/FieldStatistics.h b/vtkm/worklet/FieldStatistics.h index bf6047b58..69d0b2efd 100644 --- a/vtkm/worklet/FieldStatistics.h +++ b/vtkm/worklet/FieldStatistics.h @@ -53,9 +53,6 @@ public: static const vtkm::Id FOURTH = 3; static const vtkm::Id NUM_POWERS = 4; - static const FieldType THREE = static_cast(3.0); - static const FieldType FOUR = static_cast(4.0); - struct StatInfo { FieldType minimum; @@ -199,8 +196,8 @@ public: // Statistics from the moments statinfo.variance = statinfo.centralMoment[SECOND]; statinfo.stddev = Sqrt(statinfo.variance); - statinfo.skewness = statinfo.centralMoment[THIRD] / Pow(statinfo.stddev, THREE); - statinfo.kurtosis = statinfo.centralMoment[FOURTH] / Pow(statinfo.stddev, FOUR); + statinfo.skewness = statinfo.centralMoment[THIRD] / Pow(statinfo.stddev, static_cast(3.0)); + statinfo.kurtosis = statinfo.centralMoment[FOURTH] / Pow(statinfo.stddev, static_cast(4.0)); }; }; diff --git a/vtkm/worklet/testing/UnitTestFieldHistogram.cxx b/vtkm/worklet/testing/UnitTestFieldHistogram.cxx index 05a0fdf4b..823c12372 100644 --- a/vtkm/worklet/testing/UnitTestFieldHistogram.cxx +++ b/vtkm/worklet/testing/UnitTestFieldHistogram.cxx @@ -289,9 +289,7 @@ void PrintHistogram(vtkm::cont::ArrayHandle bins, vtkm::Float32 minValue, vtkm::Float32 delta) { - typedef typename vtkm::cont::ArrayHandle::PortalConstControl BinPortal; - - BinPortal binPortal = bins.GetPortalConstControl(); + vtkm::cont::ArrayHandle::PortalConstControl binPortal = bins.GetPortalConstControl(); vtkm::Id sum = 0; for (vtkm::Id i = 0; i < numberOfBins; i++) {