@@ -257,7 +257,11 @@ struct pack<msgpack::object> {
257257 o.pack_int64 (v.via .i64 );
258258 return o;
259259
260- case msgpack::type::FLOAT:
260+ case msgpack::type::FLOAT32:
261+ o.pack_float (static_cast <float >(v.via .f64 ));
262+ return o;
263+
264+ case msgpack::type::FLOAT64:
261265 o.pack_double (v.via .f64 );
262266 return o;
263267
@@ -311,7 +315,8 @@ struct object_with_zone<msgpack::object> {
311315 case msgpack::type::BOOLEAN:
312316 case msgpack::type::POSITIVE_INTEGER:
313317 case msgpack::type::NEGATIVE_INTEGER:
314- case msgpack::type::FLOAT:
318+ case msgpack::type::FLOAT32:
319+ case msgpack::type::FLOAT64:
315320 std::memcpy (&o.via , &v.via , sizeof (v.via ));
316321 return ;
317322
@@ -438,7 +443,8 @@ inline bool operator==(const msgpack::object& x, const msgpack::object& y)
438443 case msgpack::type::NEGATIVE_INTEGER:
439444 return x.via .i64 == y.via .i64 ;
440445
441- case msgpack::type::FLOAT:
446+ case msgpack::type::FLOAT32:
447+ case msgpack::type::FLOAT64:
442448 return x.via .f64 == y.via .f64 ;
443449
444450 case msgpack::type::STR:
@@ -698,7 +704,11 @@ inline msgpack::packer<Stream>& operator<< (msgpack::packer<Stream>& o, const ms
698704 o.pack_int64 (v.via .i64 );
699705 return o;
700706
701- case msgpack::type::FLOAT:
707+ case msgpack::type::FLOAT32:
708+ o.pack_float (v.via .f64 );
709+ return o;
710+
711+ case msgpack::type::FLOAT64:
702712 o.pack_double (v.via .f64 );
703713 return o;
704714
@@ -766,7 +776,8 @@ inline std::ostream& operator<< (std::ostream& s, const msgpack::object& o)
766776 s << o.via .i64 ;
767777 break ;
768778
769- case msgpack::type::FLOAT:
779+ case msgpack::type::FLOAT32:
780+ case msgpack::type::FLOAT64:
770781 s << o.via .f64 ;
771782 break ;
772783
0 commit comments