diff --git a/src/decoderTest.erl b/src/decoderTest.erl index d0b0be5..f299515 100644 --- a/src/decoderTest.erl +++ b/src/decoderTest.erl @@ -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">>, diff --git a/src/eVPack.app.src b/src/eVPack.app.src index 0eac770..a1c3285 100644 --- a/src/eVPack.app.src +++ b/src/eVPack.app.src @@ -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, []} ]}. diff --git a/src/eVPack.erl b/src/eVPack.erl index ad9af05..d39cfa1 100644 --- a/src/eVPack.erl +++ b/src/eVPack.erl @@ -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) -> diff --git a/src/encoderTest.erl b/src/encoderTest.erl index da62179..f130dbf 100644 --- a/src/encoderTest.erl +++ b/src/encoderTest.erl @@ -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).