mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
Merge branch 'master' into pointlocator2
This commit is contained in:
commit
b2f16a64fb
@ -91,13 +91,13 @@ if(VTKm_ENABLE_OPENMP AND NOT TARGET vtkm::openmp)
|
||||
|
||||
add_library(vtkm::openmp INTERFACE IMPORTED GLOBAL)
|
||||
if(OpenMP_CXX_FLAGS)
|
||||
set_target_properties(vtkm::openmp PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CXX>:${OpenMP_CXX_FLAGS}>)
|
||||
set_property(TARGET vtkm::openmp
|
||||
APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CXX>:${OpenMP_CXX_FLAGS}>)
|
||||
|
||||
if(VTKm_ENABLE_CUDA)
|
||||
string(REPLACE ";" "," openmp_cuda_flags "-Xcompiler=${OpenMP_CXX_FLAGS}")
|
||||
set_target_properties(vtkm::openmp PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CUDA>:${openmp_cuda_flags}>)
|
||||
set_property(TARGET vtkm::openmp
|
||||
APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$<COMPILE_LANGUAGE:CUDA>:${openmp_cuda_flags}>)
|
||||
endif()
|
||||
endif()
|
||||
if(OpenMP_CXX_LIBRARIES)
|
||||
|
@ -82,21 +82,18 @@ struct IsInValidArrayHandle
|
||||
{
|
||||
};
|
||||
|
||||
/// Checks to see if the ArrayHandle for the given DeviceAdatper allows
|
||||
/// Checks to see if the ArrayHandle allows
|
||||
/// writing, as some ArrayHandles (Implicit) don't support writing.
|
||||
/// This check is compatible with the C++11 type_traits.
|
||||
/// It contains a typedef named type that is either
|
||||
/// std::true_type or std::false_type.
|
||||
/// Both of these have a typedef named value with the respective boolean value.
|
||||
///
|
||||
template <typename ArrayHandle, typename DeviceAdapterTag>
|
||||
template <typename ArrayHandle>
|
||||
struct IsWriteableArrayHandle
|
||||
{
|
||||
private:
|
||||
template <typename T>
|
||||
using ExecutionTypes = typename ArrayHandle::template ExecutionTypes<T>;
|
||||
|
||||
using ValueType = typename ExecutionTypes<DeviceAdapterTag>::Portal::ValueType;
|
||||
using ValueType = typename ArrayHandle::PortalControl::ValueType;
|
||||
|
||||
//All ArrayHandles that use ImplicitStorage as the final writable location
|
||||
//will have a value type of void*, which is what we are trying to detect
|
||||
|
@ -73,8 +73,7 @@ void buildIndexOffsets(const ArrayHandleIndices& numIndices,
|
||||
ArrayHandleOffsets offsets,
|
||||
DeviceAdapterTag tag)
|
||||
{
|
||||
using IsWriteable =
|
||||
vtkm::cont::internal::IsWriteableArrayHandle<ArrayHandleOffsets, DeviceAdapterTag>;
|
||||
using IsWriteable = vtkm::cont::internal::IsWriteableArrayHandle<ArrayHandleOffsets>;
|
||||
buildIndexOffsets(numIndices, offsets, tag, typename IsWriteable::type());
|
||||
}
|
||||
|
||||
|
@ -850,7 +850,8 @@ VTKM_EXEC vtkm::Vec<typename FieldVecType::ComponentType, 3> CellDerivative(
|
||||
using T = typename FieldVecType::ComponentType;
|
||||
using VecT = vtkm::Vec<T, 2>;
|
||||
|
||||
VecT pc(static_cast<T>(pcoords[0]), static_cast<T>(pcoords[1]));
|
||||
VecT pc(static_cast<typename vtkm::VecTraits<T>::ComponentType>(pcoords[0]),
|
||||
static_cast<typename vtkm::VecTraits<T>::ComponentType>(pcoords[1]));
|
||||
VecT rc = VecT(T(1)) - pc;
|
||||
|
||||
VecT sum = field[0] * VecT(-rc[1], -rc[0]);
|
||||
@ -1043,7 +1044,9 @@ VTKM_EXEC vtkm::Vec<typename FieldVecType::ComponentType, 3> CellDerivative(
|
||||
using T = typename FieldVecType::ComponentType;
|
||||
using VecT = vtkm::Vec<T, 3>;
|
||||
|
||||
VecT pc(static_cast<T>(pcoords[0]), static_cast<T>(pcoords[1]), static_cast<T>(pcoords[2]));
|
||||
VecT pc(static_cast<typename vtkm::VecTraits<T>::ComponentType>(pcoords[0]),
|
||||
static_cast<typename vtkm::VecTraits<T>::ComponentType>(pcoords[1]),
|
||||
static_cast<typename vtkm::VecTraits<T>::ComponentType>(pcoords[2]));
|
||||
VecT rc = VecT(T(1)) - pc;
|
||||
|
||||
VecT sum = field[0] * VecT(-rc[1] * rc[2], -rc[0] * rc[2], -rc[0] * rc[1]);
|
||||
|
Loading…
Reference in New Issue
Block a user