Go to the documentation of this file.
10 #ifndef vtk_m_worklet_zfp_decompressor_h
11 #define vtk_m_worklet_zfp_decompressor_h
35 template <
typename Scalar,
typename StorageIn,
typename StorageOut>
54 if (paddedDims[0] % 4 != 0)
55 paddedDims[0] += 4 - dims[0] % 4;
56 if (paddedDims[1] % 4 != 0)
57 paddedDims[1] += 4 - dims[1] % 4;
58 if (paddedDims[2] % 4 != 0)
59 paddedDims[2] += 4 - dims[2] % 4;
62 (paddedDims[0] / four) * (paddedDims[1] / (four) * (paddedDims[2] / four));
65 zfp::detail::CalcMem3d(paddedDims, stream.
minbits);
68 output.
Allocate(dims[0] * dims[1] * dims[2]);
77 decompressDispatcher.Invoke(blockCounter, output, encodedData);
90 #endif // vtk_m_worklet_zfp_compressor_h
Manages an array-worth of data.
Definition: ArrayHandle.h:283
vtkm::Float64 SetRate(const vtkm::Float64 rate, const vtkm::Int32 dims, T vtkmNotUsed(valueType))
Definition: ZFPStructs.h:36
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_CONT void Allocate(vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const
Allocates an array large enough to hold the given number of values.
Definition: ArrayHandle.h:465
void Decompress(const vtkm::cont::ArrayHandle< vtkm::Int64, StorageIn > &encodedData, vtkm::cont::ArrayHandle< Scalar, StorageOut > &output, const vtkm::Float64 requestedRate, vtkm::Id3 dims)
Definition: ZFPDecompress.h:36
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
vtkm::UInt32 minbits
Definition: ZFPStructs.h:30
Definition: ZFPDecompress.h:32
Dispatcher for worklets that inherit from WorkletMapField.
Definition: DispatcherMapField.h:25
Definition: ZFPDecode3.h:70
vtkm::UInt32 maxbits
Definition: ZFPStructs.h:31
int32_t Int32
Definition: Types.h:160
double Float64
Definition: Types.h:155
Definition: ZFPStructs.h:28