30 template <
typename InVecType>
40 hash = (hash * FNV1A_PRIME) ^ dataBits;
48 template <
typename InVecType>
57 vtkm::UInt64 allDataBits =
static_cast<vtkm::UInt64
>(Traits::GetComponent(inVec, index));
59 static_cast<vtkm::HashType>((allDataBits & 0xFFFFFFFF00000000L) >> 32);
60 hash = (hash * FNV1A_PRIME) ^ upperDataBits;
62 hash = (hash * FNV1A_PRIME) ^ lowerDataBits;
70 template <
typename NumericTag, std::
size_t DataSize>
76 template <
typename InVecType>
79 return vtkm::detail::HashFNV1a32(inVec);
86 template <
typename InVecType>
89 return vtkm::detail::HashFNV1a64(inVec);
105 template <
typename InVecType>
111 using Chooser = detail::HashChooser<
typename ComponentTraits::NumericTag,
sizeof(ComponentType)>;
117 #endif //vtk_m_Hash_h