Go to the documentation of this file.
10 #ifndef vtk_m_worklet_zfp_decode1_h
11 #define vtk_m_worklet_zfp_decode1_h
30 template <
typename Scalar,
typename PortalType>
37 for (x = 0; x < nx; x++, offset++, q++)
39 scalars.Set(offset, *q);
43 template <
typename Scalar,
typename PortalType>
46 for (
vtkm::Id x = 0; x < 4; x++, ++offset)
48 scalars.Set(offset, *q++);
69 template <
typename InputScalarPortal,
typename BitstreamPortal>
71 InputScalarPortal& scalars,
72 BitstreamPortal& stream)
const
74 using Scalar =
typename InputScalarPortal::ValueType;
76 Scalar fblock[BlockSize];
80 fblock[i] =
static_cast<Scalar
>(0);
84 zfp::zfp_decode<BlockSize>(
93 if (logicalStart + 4 >
Dims)
103 Scatter1(fblock, scalars, logicalStart);
vtkm::Id ZFPDims
Definition: ZFPDecode1.h:57
vtkm::Id Dims
Definition: ZFPDecode1.h:55
VTKM_EXEC void operator()(const vtkm::Id blockIdx, InputScalarPortal &scalars, BitstreamPortal &stream) const
Definition: ZFPDecode1.h:70
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::UInt32 MaxBits
Definition: ZFPDecode1.h:58
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
vtkm::Id PaddedDims
Definition: ZFPDecode1.h:56
VTKM_EXEC void Scatter1(const Scalar *q, PortalType &scalars, vtkm::Id offset)
Definition: ZFPDecode1.h:44
Definition: ZFPDecode1.h:52
Decode1(const vtkm::Id dims, const vtkm::Id paddedDims, const vtkm::UInt32 maxbits)
Definition: ZFPDecode1.h:60
A control signature tag for input fields.
Definition: WorkletMapField.h:49
VTKM_EXEC void ScatterPartial1(const Scalar *q, PortalType &scalars, vtkm::Id offset, vtkm::Int32 nx)
Definition: ZFPDecode1.h:31
uint32_t UInt32
Definition: Types.h:161
int32_t Int32
Definition: Types.h:160
void(FieldIn, WholeArrayOut, WholeArrayIn bitstream) ControlSignature
Definition: ZFPDecode1.h:67
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38