class ov::bfloat16

#include <bfloat16.hpp>

class bfloat16
{
public:
    // unions

    union F32;

    // construction

    bfloat16();
    bfloat16();

    template <>
    bfloat16();

    // methods

    std::string to_string() const;
    size_t size() const;

    template <>
    boolconst T& operator == () const;

    template <>
    boolconst T& operator != () const;

    template <>
    boolconst T& operator < () const;

    template <>
    boolconst T& operator <= () const;

    template <>
    boolconst T& operator > () const;

    template <>
    boolconst T& operator >= () const;

    template <>
    bfloat16const T& operator + () const;

    template <>
    bfloat16const T& operator += ();

    template <>
    bfloat16const T& operator - () const;

    template <>
    bfloat16const T& operator -= ();

    template <>
    bfloat16const T& operator\* () const;

    template <>
    bfloat16const T& operator\*= ();

    template <>
    bfloat16const T& operator/ () const;

    template <>
    bfloat16const T& operator/= ();

    operator float () const;
    uint16_t to_bits() const;
    static std::vector<float>const std::vector<bfloat16>& to_float_vector();
    static std::vector<bfloat16>const std::vector<float>& from_float_vector();
    static constexpr bfloat16uint16_t from_bits();
    static uint16_tfloat round_to_nearest_even();
    static uint16_tfloat round_to_nearest();
    static uint16_tfloat truncate();
};