class ngraph::pass::low_precision::DataPrecision

#include <layer_transformation.hpp>

class DataPrecision
{
public:
    // fields

    element::Type precision;
    float min;
    float max;
    bool hasZeroPoint;

    // construction

    DataPrecision();
    DataPrecision(const element::Type& precision);

    DataPrecision(
        const element::Type precision,
        const float min,
        const float max,
        const bool hasZeroPoint
        );

    // methods

    bool empty() const;
    static bool isSupported(const element::Type& precision);
    static float getMinValue(const element::Type precision, const size_t levels);
    static float getMaxValue(const element::Type precision, const size_t levels);
    static float getMaxValue(const size_t maxLevelsForPrecision);
    static bool hasNegativeValues(const std::vector<float>& values);

    static element::Type getPrecision(
        const std::vector<float>& outputLowValues,
        const std::vector<float>& outputHighValues
        );

    static element::Type getPrecision(const size_t, const bool signedInterval);
};