.. SPDX-FileCopyrightText: 2021 Intel Corporation .. .. SPDX-License-Identifier: CC-BY-4.0 .. _example: Examples ======== The code example below demonstrates the oneDTL ZFP encode and decode functions usage. .. code-block:: cpp // Array dimensions constexpr std::size_t sx = 128; constexpr std::size_t sy = 128; constexpr std::size_t sz = 128; const sycl::range<3> dimension( sz, sy, sx ); // Input/Output sycl buffers sycl::buffer bufferIn( dimension ); sycl::buffer bufferOut( dimension ); // Input zfp_field for ZFP encode function data_compression::zfp_field source( bufferIn, dimension ); // Output zfp_field for ZFP decode function data_compression::zfp_field destination( bufferOut, dimension ); // ZFP compression mode data_compression::zfp_fixed_rate mode( 7.7 ); // Count of blocks for each chunk std::size_t chunk_size = 1; // Output for encode and input for decode zfp_compressed_stream data_compression::zfp_compressed_stream stream( dimension, mode, data_compression::zfp_index_type::offset, chunk_size ); // sycl queue sycl::queue queue{}; // ZFP compression data_compression::encode(queue, source, stream); // ZFP decompression data_compression::decode(queue, stream, destination);