struct cv::softdouble

#include <softfloat.hpp>

struct softdouble
{
    // fields

    uint64_t v;

    // construction

    softdouble();
    softdouble(const softdouble& c);
    softdouble(const uint32_t);
    softdouble(const uint64_t);
    softdouble(const int32_t);
    softdouble(const int64_t);
    softdouble(const double a);

    // methods

    bool
    isInf() const;

    bool
    isNaN() const;

    operator double() const;
    operator softfloat() const;

    bool
    operator!=(const softdouble&) const;

    softdouble
    operator%(const softdouble&) const;

    softdouble&
    operator%=(const softdouble& a);

    softdouble
    operator*(const softdouble&) const;

    softdouble&
    operator*=(const softdouble& a);

    softdouble
    operator+(const softdouble&) const;

    softdouble&
    operator+=(const softdouble& a);

    softdouble
    operator-(const softdouble&) const;

    softdouble
    operator-() const;

    softdouble&
    operator-=(const softdouble& a);

    softdouble
    operator/(const softdouble&) const;

    softdouble&
    operator/=(const softdouble& a);

    bool
    operator<(const softdouble&) const;

    bool
    operator<=(const softdouble&) const;

    softdouble&
    operator=(const softdouble& c);

    bool
    operator==(const softdouble&) const;

    bool
    operator>(const softdouble&) const;

    bool
    operator>=(const softdouble&) const;

    static
    softdouble
    fromRaw(const uint64_t a);

    static
    softdouble
    inf();

    static
    softdouble
    nan();

    static
    softdouble
    one();

    static
    softdouble
    zero();
};