casacore
Loading...
Searching...
No Matches
Sisco.h File Reference
#include <optional>
#include <span>
#include <vector>
#include "BitFloat.h"

Go to the source code of this file.

Classes

struct  casacore::sisco::CompressorState

Namespaces

namespace  casacore
 this file contains all the compiler specific defines
namespace  casacore::sisco

Functions

void casacore::sisco::DifferenceCompress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Average2Compress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::LinearCompress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Linear3Compress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::QuadraticCompress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Quadratic4Compress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::CubicCompress1D (std::span< const BitFloat > input, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::DifferenceDecompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::Average2Decompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::LinearDecompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::Linear3Decompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::QuadraticDecompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::Quadratic4Decompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::CubicDecompress1D (std::span< const std::byte > mantissa_data, std::span< const std::byte > exponent_data, std::span< BitFloat > output)
void casacore::sisco::DirectCompress2D (std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::DifferenceCompress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Average2Compress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::LinearCompress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::LinearQuadraticCompress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Linear3Compress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::QuadraticCompress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Quadratic4Compress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::CubicCompress2D (CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::DirectDecompress2D (std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::DifferenceDecompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::Average2Decompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::LinearDecompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::LinearQuadraticDecompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::Linear3Decompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::QuadraticDecompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::Quadratic4Decompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
void casacore::sisco::CubicDecompress2D (CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
size_t casacore::sisco::DefaultThreadCount ()
void casacore::sisco::Compress1D (int level, std::span< const BitFloat > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Decompress1D (int level, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< BitFloat > row)
void casacore::sisco::Compress2D (int level, CompressorState &state, std::span< const float > row, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data)
void casacore::sisco::Decompress2D (int level, CompressorState &state, std::span< std::byte > mantissa_data, std::span< std::byte > exponent_data, std::span< float > row)
constexpr BitFloat casacore::sisco::PredictThreshold (const BitFloat &value)
 If the predicted value is approximately twice as large as the target value (based on its exponent only), predict zero instead as we're too far off.
constexpr BitFloat casacore::sisco::Predict (const BitFloat &previous, int8_t value_exponent)
constexpr BitFloat casacore::sisco::Residual (const BitFloat &previous, const BitFloat &value)
constexpr BitFloat casacore::sisco::Predict (const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)
constexpr BitFloat casacore::sisco::Residual (const BitFloat &previous2, const BitFloat &previous1, const BitFloat &value)
constexpr BitFloat casacore::sisco::AveragePredict (const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)
constexpr BitFloat casacore::sisco::Predict (const BitFloat &previous3, const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)
constexpr BitFloat casacore::sisco::LinearPredict (const BitFloat &previous3, const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)
constexpr BitFloat casacore::sisco::Predict (const BitFloat &previous4, const BitFloat &previous3, const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)
constexpr BitFloat casacore::sisco::QuadraticPredict (const BitFloat &previous4, const BitFloat &previous3, const BitFloat &previous2, const BitFloat &previous1, int8_t value_exponent)

Variables

constexpr size_t casacore::sisco::kCompressedMantissaSize
constexpr size_t casacore::sisco::kCompressedExponentSize