Parcourir la source

修改

master
SisMaker il y a 4 ans
Parent
révision
89cad5abbf
4 fichiers modifiés avec 178 ajouts et 163 suppressions
  1. +79
    -79
      src/decoderTest.erl
  2. +7
    -11
      src/eVPack.app.src
  3. +34
    -15
      src/eVPack.erl
  4. +58
    -58
      src/encoderTest.erl

+ 79
- 79
src/decoderTest.erl Voir le fichier

@ -12,59 +12,59 @@ test() ->
ok
catch
E:C:S ->
{E:C:S}
{E, C, S}
end.
do() ->
[] = erlVPack:decode(<<1>>),
#{} = erlVPack:decode(<<10>>),
illegal = erlVPack:decode(<<23>>),
nil = erlVPack:decode(<<24>>),
false = erlVPack:decode(<<25>>),
true = erlVPack:decode(<<26>>),
1.33699999999999988631e+2 = erlVPack:decode(<<27, 102, 102, 102, 102, 102, 182, 96, 64>>),
-1.33699999999999988631e+2 = erlVPack:decode(<<27, 102, 102, 102, 102, 102, 182, 96, 192>>),
609976800000 = erlVPack:decode(<<28, 0, 83, 115, 5, (-114), 0, 0, 0>>),
min_key = erlVPack:decode(<<30>>),
max_key = erlVPack:decode(<<31>>),
[] = eVPack:decode(<<1>>),
#{} = eVPack:decode(<<10>>),
illegal = eVPack:decode(<<23>>),
nil = eVPack:decode(<<24>>),
false = eVPack:decode(<<25>>),
true = eVPack:decode(<<26>>),
1.33699999999999988631e+2 = eVPack:decode(<<27, 102, 102, 102, 102, 102, 182, 96, 64>>),
-1.33699999999999988631e+2 = eVPack:decode(<<27, 102, 102, 102, 102, 102, 182, 96, 192>>),
609976800000 = eVPack:decode(<<28, 0, 83, 115, 5, (-114), 0, 0, 0>>),
min_key = eVPack:decode(<<30>>),
max_key = eVPack:decode(<<31>>),
0 = erlVPack:decode(<<48>>),
1 = erlVPack:decode(<<49>>),
2 = erlVPack:decode(<<50>>),
3 = erlVPack:decode(<<51>>),
4 = erlVPack:decode(<<52>>),
5 = erlVPack:decode(<<53>>),
6 = erlVPack:decode(<<54>>),
7 = erlVPack:decode(<<55>>),
8 = erlVPack:decode(<<56>>),
9 = erlVPack:decode(<<57>>),
-6 = erlVPack:decode(<<58>>),
-5 = erlVPack:decode(<<59>>),
-4 = erlVPack:decode(<<60>>),
-3 = erlVPack:decode(<<61>>),
-2 = erlVPack:decode(<<62>>),
-1 = erlVPack:decode(<<63>>),
-1 = erlVPack:decode(<<32, 255>>),
127 = erlVPack:decode(<<32, 127>>),
-128 = erlVPack:decode(<<32, 128>>),
-1 = erlVPack:decode(<<33, 255, 255>>),
-1 = erlVPack:decode(<<34, 255, 255, 255>>),
-1 = erlVPack:decode(<<35, 255, 255, 255, 255>>),
-1 = erlVPack:decode(<<36, 255, 255, 255, 255, 255>>),
-1 = erlVPack:decode(<<37, 255, 255, 255, 255, 255, 255>>),
-1 = erlVPack:decode(<<38, 255, 255, 255, 255, 255, 255, 255>>),
-1 = erlVPack:decode(<<39, 255, 255, 255, 255, 255, 255, 255, 255>>),
9223372036854775807 = erlVPack:decode(<<39, 255, 255, 255, 255, 255, 255, 255, 127>>),
255 = erlVPack:decode(<<40, 255>>),
65535 = erlVPack:decode(<<41, 255, 255>>),
16777215 = erlVPack:decode(<<42, 255, 255, 255>>),
4294967295 = erlVPack:decode(<<43, 255, 255, 255, 255>>),
1099511627775 = erlVPack:decode(<<44, 255, 255, 255, 255, 255>>),
281474976710655 = erlVPack:decode(<<45, 255, 255, 255, 255, 255, 255>>),
72057594037927935 = erlVPack:decode(<<46, 255, 255, 255, 255, 255, 255, 255>>),
18446744073709551615 = erlVPack:decode(<<47, 255, 255, 255, 255, 255, 255, 255, 255>>),
<<"Hallo Welt!">> = erlVPack:decode(<<75, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>>),
<<"Hello World!">> = erlVPack:decode(<<76, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>>),
0 = eVPack:decode(<<48>>),
1 = eVPack:decode(<<49>>),
2 = eVPack:decode(<<50>>),
3 = eVPack:decode(<<51>>),
4 = eVPack:decode(<<52>>),
5 = eVPack:decode(<<53>>),
6 = eVPack:decode(<<54>>),
7 = eVPack:decode(<<55>>),
8 = eVPack:decode(<<56>>),
9 = eVPack:decode(<<57>>),
-6 = eVPack:decode(<<58>>),
-5 = eVPack:decode(<<59>>),
-4 = eVPack:decode(<<60>>),
-3 = eVPack:decode(<<61>>),
-2 = eVPack:decode(<<62>>),
-1 = eVPack:decode(<<63>>),
-1 = eVPack:decode(<<32, 255>>),
127 = eVPack:decode(<<32, 127>>),
-128 = eVPack:decode(<<32, 128>>),
-1 = eVPack:decode(<<33, 255, 255>>),
-1 = eVPack:decode(<<34, 255, 255, 255>>),
-1 = eVPack:decode(<<35, 255, 255, 255, 255>>),
-1 = eVPack:decode(<<36, 255, 255, 255, 255, 255>>),
-1 = eVPack:decode(<<37, 255, 255, 255, 255, 255, 255>>),
-1 = eVPack:decode(<<38, 255, 255, 255, 255, 255, 255, 255>>),
-1 = eVPack:decode(<<39, 255, 255, 255, 255, 255, 255, 255, 255>>),
9223372036854775807 = eVPack:decode(<<39, 255, 255, 255, 255, 255, 255, 255, 127>>),
255 = eVPack:decode(<<40, 255>>),
65535 = eVPack:decode(<<41, 255, 255>>),
16777215 = eVPack:decode(<<42, 255, 255, 255>>),
4294967295 = eVPack:decode(<<43, 255, 255, 255, 255>>),
1099511627775 = eVPack:decode(<<44, 255, 255, 255, 255, 255>>),
281474976710655 = eVPack:decode(<<45, 255, 255, 255, 255, 255, 255>>),
72057594037927935 = eVPack:decode(<<46, 255, 255, 255, 255, 255, 255, 255>>),
18446744073709551615 = eVPack:decode(<<47, 255, 255, 255, 255, 255, 255, 255, 255>>),
<<"Hallo Welt!">> = eVPack:decode(<<75, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>>),
<<"Hello World!">> = eVPack:decode(<<76, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>>),
Str =
<<"Lorem ipsum dolor sit amet, consectetuer "
"adipiscing elit. Aenean commodo ligula "
@ -106,47 +106,47 @@ do() ->
97, 112, 105, 98, 117, 115, 46, 32, 86, 105, 118, 97, 109, 117, 115, 32, 101, 108, 101, 109, 101, 110, 116, 117,
109, 32, 115, 101, 109, 112, 101, 114, 32, 110, 105, 115, 105, 46, 32, 65, 101, 110, 101, 97, 110, 32, 118, 117,
108, 112, 117, 116, 97, 116, 101, 32, 101, 108, 101, 105, 102, 101, 110, 100, 32, 116, 101, 108, 108, 117, 115, 46>>,
Str = erlVPack:decode(StrBin),
ExBin = erlVPack:decode(<<49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<192, 9, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<193, 9, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<194, 9, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<195, 9, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<196, 9, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<197, 9, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<198, 9, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = erlVPack:decode(<<199, 9, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
Str = eVPack:decode(StrBin),
ExBin = eVPack:decode(<<49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<192, 9, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<193, 9, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<194, 9, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<195, 9, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<196, 9, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<197, 9, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<198, 9, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = eVPack:decode(<<199, 9, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57>>),
ExBin = [1, 2, 3],
Ex3 = erlVPack:decode(<<6, 9, 3, 49, 50, 51, 3, 4, 5>>),
Ex3 = erlVPack:decode(<<6, 10, 3, 0, 49, 50, 51, 3, 4, 5>>),
Ex3 = erlVPack:decode(<<7, 14, 0, 3, 0, 49, 50, 51, 5, 0, 6, 0, 7, 0>>),
Ex3 = erlVPack:decode(<<8, 24, 0, 0, 0, 3, 0, 0, 0, 49, 50, 51, 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0>>),
Ex3 = erlVPack:decode(<<9, 44, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 9, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0>>),
Ex3 = erlVPack:decode(<<6, 5, 1, 49, 3>>),
Ex3 = eVPack:decode(<<6, 9, 3, 49, 50, 51, 3, 4, 5>>),
Ex3 = eVPack:decode(<<6, 10, 3, 0, 49, 50, 51, 3, 4, 5>>),
Ex3 = eVPack:decode(<<7, 14, 0, 3, 0, 49, 50, 51, 5, 0, 6, 0, 7, 0>>),
Ex3 = eVPack:decode(<<8, 24, 0, 0, 0, 3, 0, 0, 0, 49, 50, 51, 9, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0>>),
Ex3 = eVPack:decode(<<9, 44, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 9, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0>>),
Ex3 = eVPack:decode(<<6, 5, 1, 49, 3>>),
Ex3 = [1],
Ex4 = [1, 2, 3],
Ex4 = erlVPack:decode(<<2, 5, 49, 50, 51>>),
Ex4 = erlVPack:decode(<<2, 6, 0, 49, 50, 51>>),
Ex4 = erlVPack:decode(<<3, 6, 0, 49, 50, 51>>),
Ex4 = erlVPack:decode(<<4, 8, 0, 0, 0, 49, 50, 51>>),
Ex4 = erlVPack:decode(<<5, 12, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51>>),
[0.0] = erlVPack:decode(<<2, 11, 27, 0:64/integer-little-unsigned>>),
0 = erlVPack:decode(<<2, 11, 28, 0:64/integer-little-unsigned>>),
[1, 16] = erlVPack:decode(<<19, 6, 49, 40, 16, 2>>),
Ex4 = eVPack:decode(<<2, 5, 49, 50, 51>>),
Ex4 = eVPack:decode(<<2, 6, 0, 49, 50, 51>>),
Ex4 = eVPack:decode(<<3, 6, 0, 49, 50, 51>>),
Ex4 = eVPack:decode(<<4, 8, 0, 0, 0, 49, 50, 51>>),
Ex4 = eVPack:decode(<<5, 12, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51>>),
[0.0] = eVPack:decode(<<2, 11, 27, 0:64/integer-little-unsigned>>),
0 = eVPack:decode(<<2, 11, 28, 0:64/integer-little-unsigned>>),
[1, 16] = eVPack:decode(<<19, 6, 49, 40, 16, 2>>),
Ex5 = [[1, 2, 3], [1, 2, 3]],
Ex5 = erlVPack:decode(<<2, 12, 2, 5, 49, 50, 51, 2, 5, 49, 50, 51>>),
Ex5 = eVPack:decode(<<2, 12, 2, 5, 49, 50, 51, 2, 5, 49, 50, 51>>),
Ex6 = [[1, 2, 3], [1, 2, 3]],
Ex6 = erlVPack:decode(<<2, 14, 19, 6, 49, 50, 51, 3, 19, 6, 49, 50, 51, 3>>),
Ex6 = eVPack:decode(<<2, 14, 19, 6, 49, 50, 51, 3, 19, 6, 49, 50, 51, 3>>),
Ex7 = #{<<"a">> => <<"b">>},
Ex7 = erlVPack:decode(<<11, 8, 1, 65, 97, 65, 98, 3>>),
Ex7 = eVPack:decode(<<11, 8, 1, 65, 97, 65, 98, 3>>),
Ex8 = #{<<"a">> => 12, <<"b">> => true, <<"c">> => <<"xyz">>},
Ex8 = erlVPack:decode(<<20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3>>),
Ex8 = eVPack:decode(<<20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3>>),
Ex9 = [#{<<"a">> => 12, <<"b">> => true, <<"c">> => <<"xyz">>}, #{<<"a">> => 12, <<"b">> => true, <<"c">> => <<"xyz">>}],
Ex9 = erlVPack:decode(<<19, 35, 20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3, 20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3, 2>>),
Ex9 = eVPack:decode(<<19, 35, 20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3, 20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3, 2>>),
Ex10 = [#{<<"key">> => 42}, <<"fooooobar">>, <<"x">>, <<1, 2, 3, 4, 5, 6, 7, 8>>],
Ex10Bin = <<2, 42, 11, 10, 1, 67, 107, 101, 121, 40, 42, 3, 73, 102, 111, 111, 111, 111, 111,
98, 97, 114, 191, 1, 0, 0, 0, 0, 0, 0, 0, 120, 192, 8, 1, 2, 3, 4, 5, 6, 7, 8>>,
Ex10 = erlVPack:decode(Ex10Bin),
Ex10 = eVPack:decode(Ex10Bin),
_Ex11 = #{<<"0">> =>
#{<<"0">> => <<"test">>, <<"1">> => <<"test">>,
<<"2">> => <<"test">>, <<"3">> => <<"test">>,

+ 7
- 11
src/eVPack.app.src Voir le fichier

@ -1,14 +1,10 @@
{application, eVPack,
[{description, "An OTP library"},
{vsn, "0.1.0"},
{registered, []},
{applications,
[kernel,
stdlib
]},
{env,[]},
{modules, []},
{licenses, ["Apache 2.0"]},
{links, []}
{vsn, "0.1.0"},
{registered, []},
{applications, [kernel, stdlib]},
{env, []},
{modules, []},
{licenses, ["MIT"]},
{links, []}
]}.

+ 34
- 15
src/eVPack.erl Voir le fichier

@ -1,17 +1,21 @@
-module(eVPack).
-include("eVPack.hrl").
-compile(inline).
-compile({inline_size, 128}).
-import(lists, [reverse/1]).
-import(maps, [iterator/1, next/1, keys/1]).
-export([
encode/1
, encode/3
, decode/1
, encodeAtom/1
, encodeFloat/1
, encodeInteger/1
, encodeList/3
, encodeMap/3
, encodeList/3
, encodeFloat/1
, encodeString/1
, encoder/3
, encodeInteger/1
, buildIndexTable_1/2
, buildIndexTable_2/2
, buildIndexTable_4/2
@ -19,17 +23,30 @@
]).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% encode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec encode(term()) -> {ok, vpack()} | {error, any()}.
encode(Term) -> encode(Term, ?VpDefArrOpt, ?VpDefObjOpt).
encode(Term) ->
%%{VPack, _Size} = encoder(Term, ?VpDefArrOpt, ?VpDefObjOpt),
%%VPack.
try encoder(Term, ?VpDefArrOpt, ?VpDefObjOpt) of
{VPack, _Size} ->
VPack
catch
C:E:S ->
{C, E, S}
end.
-spec encode(term(), vpOpt(), vpOpt()) -> {ok, vpack()} | {error, any()}.
encode(Term, ArrOpt, ObjOpt) ->
try {_v@1, __size@1} = encoder(Term, ArrOpt, ObjOpt),
{ok, _v@1}
% {VPack, _Size} = encoder(Term, ArrOpt, ObjOpt),
% VPack.
try encoder(Term, ArrOpt, ObjOpt) of
{VPack, _Size} ->
VPack
catch
throw:Class -> {error, Class}
C:E:S ->
{C, E, S}
end.
encoder(Map, ArrOpt, ObjOpt) when erlang:is_map(Map) ->
@ -347,7 +364,7 @@ compactSize(AllSize) ->
encodeCompactData(Type, IoData, SumSize, Count) ->
CompactList = compactInteger(Count, true),
AllSize = SumSize + 1 + lists:length(CompactList),
AllSize = SumSize + 1 + erlang:length(CompactList),
{TotalSize, FinalSize} = compactSize(AllSize),
{[Type, TotalSize, IoData | CompactList], FinalSize}.
@ -463,14 +480,16 @@ encodeListWithIndexTable(IoData, Count, Offsets, SumSize) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% decode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec decode(vpack()) -> term().
decode(DataBin) ->
% {Term, _} = decoder(DataBin),
% Term.
try decoder(DataBin) of
{Value, <<>>} -> {ok, Value};
{Value, Tail} -> {ok, {Value, Tail}}
{Term, _} ->
Term
catch
Class:Err:Strace ->
{error, Class, Err, Strace}
C:E:S ->
{C, E, S}
end.
decoder(DataBin) ->

+ 58
- 58
src/encoderTest.erl Voir le fichier

@ -1,5 +1,5 @@
-module(encoderTest).
-include("erlVPack.hrl").
-include("eVPack.hrl").
-compile([no_auto_import]).
@ -13,53 +13,53 @@ test() ->
ok
catch
E:C:S ->
{E:C:S}
{E, C, S}
end.
do() ->
<<23>> = erlVPack:encode(illegal),
<<24>> = erlVPack:encode(nil),
<<25>> = erlVPack:encode(false),
<<26>> = erlVPack:encode(true),
<<27, 102, 102, 102, 102, 102, 182, 96, 64>> = erlVPack:encode(1.33699999999999988631e+2),
<<27, 102, 102, 102, 102, 102, 182, 96, 192>> = erlVPack:encode(-1.33699999999999988631e+2),
<<30>> = erlVPack:encode(min_key),
<<31>> = erlVPack:encode(max_key),
<<48>> = erlVPack:encode(0),
<<49>> = erlVPack:encode(1),
<<50>> = erlVPack:encode(2),
<<51>> = erlVPack:encode(3),
<<52>> = erlVPack:encode(4),
<<53>> = erlVPack:encode(5),
<<54>> = erlVPack:encode(6),
<<55>> = erlVPack:encode(7),
<<56>> = erlVPack:encode(8),
<<57>> = erlVPack:encode(9),
<<58>> = erlVPack:encode(-6),
<<59>> = erlVPack:encode(-5),
<<60>> = erlVPack:encode(-4),
<<61>> = erlVPack:encode(-3),
<<62>> = erlVPack:encode(-2),
<<63>> = erlVPack:encode(-1),
<<32, (-7)/integer-little-signed>> = erlVPack:encode(-7),
<<32, 128>> = erlVPack:encode(-128),
<<33, 0, 128>> = erlVPack:encode(-32768),
<<34, 0, 0, 128>> = erlVPack:encode(-8388608),
<<35, 0, 0, 0, 128>> = erlVPack:encode(-2147483648),
<<36, 0, 0, 0, 0, 128>> = erlVPack:encode(-549755813888),
<<37, 0, 0, 0, 0, 0, 128>> = erlVPack:encode(-140737488355328),
<<38, 0, 0, 0, 0, 0, 0, 128>> = erlVPack:encode(-36028797018963968),
<<39, 0, 0, 0, 0, 0, 0, 0, 128>> = erlVPack:encode(-9223372036854775808),
<<40, 255>> = erlVPack:encode(255),
<<41, 255, 255>> = erlVPack:encode(65535),
<<42, 255, 255, 255>> = erlVPack:encode(16777215),
<<43, 255, 255, 255, 255>> = erlVPack:encode(4294967295),
<<44, 255, 255, 255, 255, 255>> = erlVPack:encode(1099511627775),
<<45, 255, 255, 255, 255, 255, 255>> = erlVPack:encode(281474976710655),
<<46, 255, 255, 255, 255, 255, 255, 255>> = erlVPack:encode(72057594037927935),
<<47, 255, 255, 255, 255, 255, 255, 255, 255>> = erlVPack:encode(18446744073709551615),
<<75, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = erlVPack:encode(<<"Hallo Welt!">>),
<<76, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = erlVPack:encode(<<"Hello World!">>),
<<23>> = eVPack:encode(illegal),
<<24>> = eVPack:encode(nil),
<<25>> = eVPack:encode(false),
<<26>> = eVPack:encode(true),
<<27, 102, 102, 102, 102, 102, 182, 96, 64>> = eVPack:encode(1.33699999999999988631e+2),
<<27, 102, 102, 102, 102, 102, 182, 96, 192>> = eVPack:encode(-1.33699999999999988631e+2),
<<30>> = eVPack:encode(min_key),
<<31>> = eVPack:encode(max_key),
<<48>> = eVPack:encode(0),
<<49>> = eVPack:encode(1),
<<50>> = eVPack:encode(2),
<<51>> = eVPack:encode(3),
<<52>> = eVPack:encode(4),
<<53>> = eVPack:encode(5),
<<54>> = eVPack:encode(6),
<<55>> = eVPack:encode(7),
<<56>> = eVPack:encode(8),
<<57>> = eVPack:encode(9),
<<58>> = eVPack:encode(-6),
<<59>> = eVPack:encode(-5),
<<60>> = eVPack:encode(-4),
<<61>> = eVPack:encode(-3),
<<62>> = eVPack:encode(-2),
<<63>> = eVPack:encode(-1),
<<32, (-7)/integer-little-signed>> = eVPack:encode(-7),
<<32, 128>> = eVPack:encode(-128),
<<33, 0, 128>> = eVPack:encode(-32768),
<<34, 0, 0, 128>> = eVPack:encode(-8388608),
<<35, 0, 0, 0, 128>> = eVPack:encode(-2147483648),
<<36, 0, 0, 0, 0, 128>> = eVPack:encode(-549755813888),
<<37, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-140737488355328),
<<38, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-36028797018963968),
<<39, 0, 0, 0, 0, 0, 0, 0, 128>> = eVPack:encode(-9223372036854775808),
<<40, 255>> = eVPack:encode(255),
<<41, 255, 255>> = eVPack:encode(65535),
<<42, 255, 255, 255>> = eVPack:encode(16777215),
<<43, 255, 255, 255, 255>> = eVPack:encode(4294967295),
<<44, 255, 255, 255, 255, 255>> = eVPack:encode(1099511627775),
<<45, 255, 255, 255, 255, 255, 255>> = eVPack:encode(281474976710655),
<<46, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encode(72057594037927935),
<<47, 255, 255, 255, 255, 255, 255, 255, 255>> = eVPack:encode(18446744073709551615),
<<75, 72, 97, 108, 108, 111, 32, 87, 101, 108, 116, 33>> = eVPack:encode(<<"Hallo Welt!">>),
<<76, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33>> = eVPack:encode(<<"Hello World!">>),
Str = <<"Lorem ipsum dolor sit amet, consectetuer "
"adipiscing elit. Aenean commodo ligula "
"eget dolor. ",
@ -106,22 +106,22 @@ do() ->
109, 112, 101, 114, 32, 110, 105, 115, 105, 46, 32, 65, 101, 110, 101, 97, 110, 32, 118, 117,
108, 112, 117, 116, 97, 116, 101, 32, 101, 108, 101, 105, 102, 101, 110, 100, 32, 116, 101, 108,
108, 117, 115, 46>>,
StrBin = erlVPack:encode(Str),
StrBin = eVPack:encode(Str),
<<1>>, erlVPack:encode([]),
<<2, 5, "1", "2", "3">>, erlVPack:encode([1, 2, 3]),
<<1>> = eVPack:encode([]),
<<2, 5, "1", "2", "3">> = eVPack:encode([1, 2, 3]),
<<19, 6, 49, 40, 16, 2>> = erlVPack:encode([1, 16], [{compact_arrays, true}]),
<<19, 6, 49, 40, 16, 2>> = eVPack:encode([1, 16], [{compact_arrays, true}]),
Arr = <<"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. ", "Aenean massa. Cum sociis ...">>,
ArrList = [Arr, 1, 2, 42],
<<19, _/binary>> = ArrBin = erlVPack:encode(ArrList, ?vpArrYc, ?VpDefObjOpt),
ArrList = erlVPack:decode(ArrBin),
<<19, _/binary>> = ArrBin = eVPack:encode(ArrList, ?vpArrYc, ?VpDefObjOpt),
ArrList = eVPack:decode(ArrBin),
ArrLists = <<2, 12, 2, 5, 49, 50, 51, 2, 5, 49, 50, 51>>,
ArrsBin = [[1, 2, 3], [1, 2, 3]],
ArrLists = erlVPack:encode(ArrsBin),
<<10>> = erlVPack:encode(#{}),
<<11, 8, 1, 65, 97, 65, 98, 3>> = erlVPack:encode(#{<<"a">> => <<"b">>}),
<<11, 13, 2, 65, 97, 65, 98, 65, 98, 65, 97, 3, 7>> = erlVPack:encode(#{a => <<"b">>, b => <<"a">>}),
ArrLists = eVPack:encode(ArrsBin),
<<10>> = eVPack:encode(#{}),
<<11, 8, 1, 65, 97, 65, 98, 3>> = eVPack:encode(#{<<"a">> => <<"b">>}),
<<11, 13, 2, 65, 97, 65, 98, 65, 98, 65, 97, 3, 7>> = eVPack:encode(#{a => <<"b">>, b => <<"a">>}),
Maps = #{<<"0">> =>
#{<<"0">> => <<"test">>, <<"1">> => <<"test">>,
<<"2">> => <<"test">>, <<"3">> => <<"test">>,
@ -151,7 +151,7 @@ do() ->
116, 65, 51, 68, 116, 101, 115, 116, 65, 52, 68, 116, 101, 115, 116, 3, 10, 17, 24, 31, 65, 52, 11, 43,
5, 65, 48, 68, 116, 101, 115, 116, 65, 49, 68, 116, 101, 115, 116, 65, 50, 68, 116, 101, 115, 116, 65, 51, 68, 116, 101, 115,
116, 65, 52, 68, 116, 101, 115, 116, 3, 10, 17, 24, 31, 3, 48, 93, 138, 183>>,
MapBin = erlVPack:encode(Maps),
MapBin = eVPack:encode(Maps),
Mapss = #{<<"0">> =>
#{<<"0">> => <<"test">>, <<"1">> => <<"test">>,
<<"2">> => <<"test">>, <<"3">> => <<"test">>,
@ -245,7 +245,7 @@ do() ->
68, 116, 101, 115, 116, 65, 51, 68, 116, 101, 115, 116, 65, 52, 68, 116, 101, 115, 116, 65, 53, 68, 116, 101, 115, 116, 65, 54,
68, 116, 101, 115, 116, 65, 55, 68, 116, 101, 115, 116, 65, 56, 68, 116, 101, 115, 116, 65, 57, 68, 116, 101,
115, 116, 3, 10, 17, 24, 31, 38, 45, 52, 59, 66, 5, 0, 90, 0, 175, 0, 4, 1, 89, 1, 174, 1, 3, 2, 88, 2, 173, 2, 2, 3>>,
MapsBin = erlVPack:encode(Mapss),
MapsBin = eVPack:encode(Mapss),
MapCom = #{<<"a">> => 12, <<"b">> => true, <<"c">> => <<"xyz">>},
MapComBin = <<20, 16, 65, 97, 40, 12, 65, 98, 26, 65, 99, 67, 120, 121, 122, 3>>,
MapComBin = erlVPack:encode(MapCom, ?VpDefArrOpt, ?vpObjYc).
MapComBin = eVPack:encode(MapCom, ?VpDefArrOpt, ?vpObjYc).

Chargement…
Annuler
Enregistrer