X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinfloat.h;h=d16570fc057fa296a349f2b69bb167d68a960ceb;hb=HEAD;hp=e50b3204ce974e992ca3cb52f5089456d8b16b39;hpb=708ef339d3e4d3661c8b3a75e3b01bafbed0f568;p=libs%2Fdatafile.git diff --git a/source/binfloat.h b/source/binfloat.h index e50b320..db3e924 100644 --- a/source/binfloat.h +++ b/source/binfloat.h @@ -20,8 +20,8 @@ struct BinFloat { struct Bits { - unsigned exponent; - unsigned mantissa; + unsigned exponent = 8; + unsigned mantissa = 23; Bits(unsigned); }; @@ -29,10 +29,10 @@ struct BinFloat template struct MatchingInt; - bool sign; - bool infinity; - int exponent; - std::uint64_t mantissa; + bool sign = false; + bool infinity = false; + int exponent = 0; + std::uint64_t mantissa = 0; static BinFloat explode(std::uint64_t, const Bits &); @@ -55,7 +55,7 @@ template inline BinFloat BinFloat::explode_iec559(T v) { typename MatchingInt::Type i; - memcpy(&v, &i, sizeof(T)); + memcpy(&i, &v, sizeof(T)); return explode(i, sizeof(T)*CHAR_BIT); }