Current section
6 Versions
Jump to
Current section
6 Versions
Compare versions
4
files changed
+25
additions
-2
deletions
| @@ -144,12 +144,23 @@ Opt = [{ext,{Packer,Unpacker}}], | |
| 144 144 | {ok, {ref, Ref}} = msgpack:unpack(msgpack:pack({ref, Ref}, Opt), Opt). |
| 145 145 | ``` |
| 146 146 | |
| 147 | + ## Misc |
| 148 | + |
| 149 | + ### Float type |
| 150 | + |
| 151 | + The Float type of Message Pack represents IEEE 754 floating point number, so it includes Nan and Infinity. |
| 152 | + In unpacking, msgpack-erlang returns `nan`, `positive_infinity` and `negative_infinity`. |
| 153 | + |
| 147 154 | ## License |
| 148 155 | |
| 149 156 | Apache License 2.0 |
| 150 157 | |
| 151 158 | # Release Notes |
| 152 159 | |
| 160 | + ## 0.7.0 |
| 161 | + |
| 162 | + - Support `nan`, `positive_infinity` and `negative_infinity` |
| 163 | + |
| 153 164 | ## 0.6.0 |
| 154 165 | |
| 155 166 | - Support OTP 19.0 |
| @@ -1,5 +1,5 @@ | |
| 1 1 | {<<"name">>,<<"msgpack">>}. |
| 2 | - {<<"version">>,<<"0.6.0">>}. |
| 2 | + {<<"version">>,<<"0.7.0">>}. |
| 3 3 | {<<"requirements">>,#{}}. |
| 4 4 | {<<"app">>,<<"msgpack">>}. |
| 5 5 | {<<"maintainers">>,[<<"Kota Uenishi">>,<<"Yuki Ito">>]}. |
| @@ -1,6 +1,6 @@ | |
| 1 1 | {application,msgpack, |
| 2 2 | [{description,"MessagePack serializer/deserializer"}, |
| 3 | - {vsn,"0.6.0"}, |
| 3 | + {vsn,"0.7.0"}, |
| 4 4 | {modules,[msgpack]}, |
| 5 5 | {maintainers,["Kota Uenishi","Yuki Ito"]}, |
| 6 6 | {licenses,["Apache"]}, |
| @@ -47,8 +47,20 @@ unpack_stream(<<16#C6, L:32/big-unsigned-integer-unit:1, V:L/binary, Rest/binary | |
| 47 47 | %% Floats |
| 48 48 | unpack_stream(<<16#CA, V:32/float-unit:1, Rest/binary>>, _) -> |
| 49 49 | {V, Rest}; |
| 50 | + unpack_stream(<<16#CA, 0:1, 16#FF:8, 0:23, Rest/binary>>, _) -> |
| 51 | + {positive_infinity, Rest}; |
| 52 | + unpack_stream(<<16#CA, 1:1, 16#FF:8, 0:23 , Rest/binary>>, _) -> |
| 53 | + {negative_infinity, Rest}; |
| 54 | + unpack_stream(<<16#CA, _:1, 16#FF:8, _:23 , Rest/binary>>, _) -> |
| 55 | + {nan, Rest}; |
| 50 56 | unpack_stream(<<16#CB, V:64/float-unit:1, Rest/binary>>, _) -> |
| 51 57 | {V, Rest}; |
| 58 | + unpack_stream(<<16#CB, 0:1, 2#11111111111:11, 0:52, Rest/binary>>, _) -> |
| 59 | + {positive_infinity, Rest}; |
| 60 | + unpack_stream(<<16#CB, 1:1, 2#11111111111:11, 0:52 , Rest/binary>>, _) -> |
| 61 | + {negative_infinity, Rest}; |
| 62 | + unpack_stream(<<16#CB, _:1, 2#11111111111:11, _:52 , Rest/binary>>, _) -> |
| 63 | + {nan, Rest}; |
| 52 64 | |
| 53 65 | %% Unsigned integers |
| 54 66 | unpack_stream(<<16#CC, V:8/unsigned-integer, Rest/binary>>, _) -> |