Fix precision warnings when FloatDefault is 64 bit
When VTKm_USE_DOUBLE_PRECISION is on (not the default), then vtkm::FloatDefault is set to 64 bit values. There was some code that was coded for 32 bit and never checked for 64 bit (on all compilers).
This commit is contained in:
parent
b568dcee62
commit
893f3115f2
@ -66,11 +66,11 @@ public:
|
||||
typedef _1 InputDomain;
|
||||
|
||||
const vtkm::Id xdim, ydim, zdim;
|
||||
const vtkm::FloatDefault xmin, ymin, zmin, xmax, ymax, zmax;
|
||||
const vtkm::Float32 xmin, ymin, zmin, xmax, ymax, zmax;
|
||||
const vtkm::Id cellsPerLayer;
|
||||
|
||||
VTKM_CONT_EXPORT
|
||||
TangleField(const vtkm::Id3 dims, const vtkm::FloatDefault mins[3], const vtkm::FloatDefault maxs[3]) : xdim(dims[0]), ydim(dims[1]), zdim(dims[2]),
|
||||
TangleField(const vtkm::Id3 dims, const vtkm::Float32 mins[3], const vtkm::Float32 maxs[3]) : xdim(dims[0]), ydim(dims[1]), zdim(dims[2]),
|
||||
xmin(mins[0]), ymin(mins[1]), zmin(mins[2]), xmax(maxs[0]), ymax(maxs[1]), zmax(maxs[2]), cellsPerLayer((xdim) * (ydim)) { };
|
||||
|
||||
VTKM_EXEC_EXPORT
|
||||
@ -80,9 +80,9 @@ public:
|
||||
const vtkm::Id y = (vertexId / (xdim)) % (ydim);
|
||||
const vtkm::Id z = vertexId / cellsPerLayer;
|
||||
|
||||
const vtkm::FloatDefault fx = static_cast<vtkm::FloatDefault>(x) / static_cast<vtkm::FloatDefault>(xdim-1);
|
||||
const vtkm::FloatDefault fy = static_cast<vtkm::FloatDefault>(y) / static_cast<vtkm::FloatDefault>(xdim-1);
|
||||
const vtkm::FloatDefault fz = static_cast<vtkm::FloatDefault>(z) / static_cast<vtkm::FloatDefault>(xdim-1);
|
||||
const vtkm::Float32 fx = static_cast<vtkm::Float32>(x) / static_cast<vtkm::Float32>(xdim-1);
|
||||
const vtkm::Float32 fy = static_cast<vtkm::Float32>(y) / static_cast<vtkm::Float32>(xdim-1);
|
||||
const vtkm::Float32 fz = static_cast<vtkm::Float32>(z) / static_cast<vtkm::Float32>(xdim-1);
|
||||
|
||||
const vtkm::Float32 xx = 3.0f*(xmin+(xmax-xmin)*(fx));
|
||||
const vtkm::Float32 yy = 3.0f*(ymin+(ymax-ymin)*(fy));
|
||||
@ -100,8 +100,8 @@ vtkm::cont::DataSet MakeIsosurfaceTestDataSet(vtkm::Id3 dims)
|
||||
|
||||
const vtkm::Id3 vdims(dims[0] + 1, dims[1] + 1, dims[2] + 1);
|
||||
|
||||
vtkm::FloatDefault mins[3] = {-1.0f, -1.0f, -1.0f};
|
||||
vtkm::FloatDefault maxs[3] = {1.0f, 1.0f, 1.0f};
|
||||
vtkm::Float32 mins[3] = {-1.0f, -1.0f, -1.0f};
|
||||
vtkm::Float32 maxs[3] = {1.0f, 1.0f, 1.0f};
|
||||
|
||||
vtkm::cont::ArrayHandle<vtkm::Float32> fieldArray;
|
||||
vtkm::cont::ArrayHandleCounting<vtkm::Id> vertexCountImplicitArray(0, 1, vdims[0]*vdims[1]*vdims[2]);
|
||||
|
@ -469,7 +469,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
LocateCell(vtkm::Vec<vtkm::Id,3> &cell,
|
||||
const vtkm::Vec<vtkm::Float32,3> &point,
|
||||
const vtkm::Vec<vtkm::Float32,3> &rayDir,
|
||||
vtkm::FloatDefault *invSpacing) const
|
||||
vtkm::Float32 *invSpacing) const
|
||||
{
|
||||
for(vtkm::Int32 dim = 0; dim < 3; ++dim)
|
||||
{
|
||||
@ -487,7 +487,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
}
|
||||
else notFound = false;
|
||||
}
|
||||
invSpacing[dim] = 1.f / (CoordPortals[dim].Get(cell[dim]+1) - CoordPortals[dim].Get(cell[dim]));
|
||||
invSpacing[dim] = 1.f / static_cast<vtkm::Float32>(CoordPortals[dim].Get(cell[dim]+1) - CoordPortals[dim].Get(cell[dim]));
|
||||
}
|
||||
}
|
||||
|
||||
@ -513,7 +513,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
vtkm::Float32 currentDistance = minDistance + SampleDistance; //Move the ray forward some epsilon
|
||||
vtkm::Float32 lastSample = maxDistance - SampleDistance;
|
||||
vtkm::Vec<vtkm::Float32,3> sampleLocation = CameraPosition + currentDistance * rayDir;
|
||||
vtkm::FloatDefault invSpacing[3];
|
||||
vtkm::Float32 invSpacing[3];
|
||||
vtkm::Vec<vtkm::Id,8> cellIndices;
|
||||
/*LocateCell(currentCell,
|
||||
sampleLocation,
|
||||
@ -677,7 +677,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
LocateCell(vtkm::Vec<vtkm::Id,3> &cell,
|
||||
const vtkm::Vec<vtkm::Float32,3> &point,
|
||||
const vtkm::Vec<vtkm::Float32,3> &rayDir,
|
||||
vtkm::FloatDefault *invSpacing) const
|
||||
vtkm::Float32 *invSpacing) const
|
||||
{
|
||||
for(vtkm::Int32 dim = 0; dim < 3; ++dim)
|
||||
{
|
||||
@ -700,7 +700,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
}
|
||||
else notFound = false;
|
||||
}
|
||||
invSpacing[dim] = 1.f / (CoordPortals[dim].Get(cell[dim]+1) - CoordPortals[dim].Get(cell[dim]));
|
||||
invSpacing[dim] = 1.f / static_cast<vtkm::Float32>(CoordPortals[dim].Get(cell[dim]+1) - CoordPortals[dim].Get(cell[dim]));
|
||||
}
|
||||
}
|
||||
|
||||
@ -727,7 +727,7 @@ class SamplerCellAssocRect : public vtkm::worklet::WorkletMapField
|
||||
vtkm::Float32 currentDistance = minDistance + SampleDistance; //Move the ray forward some epsilon
|
||||
vtkm::Float32 lastSample = maxDistance - SampleDistance;
|
||||
vtkm::Vec<vtkm::Float32,3> sampleLocation = CameraPosition + currentDistance * rayDir;
|
||||
vtkm::FloatDefault invSpacing[3];
|
||||
vtkm::Float32 invSpacing[3];
|
||||
vtkm::Vec<vtkm::Id,8> cellIndices;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user