@@ -54,7 +54,8 @@ start() ->
54
54
external_term_decode () +
55
55
big_literals () +
56
56
to_external_term () +
57
- test_bor ().
57
+ test_bor () +
58
+ test_bsl ().
58
59
59
60
test_mul () ->
60
61
Expected_INT64_MIN = ? MODULE :pow (- 2 , 63 ),
@@ -855,6 +856,41 @@ test_bor() ->
855
856
856
857
0 .
857
858
859
+ test_bsl () ->
860
+ % % versione negativa
861
+ Pattern1 = erlang :binary_to_integer (? MODULE :id (<<" CAFE1234AABBCCDD98765432" >>), 16 ),
862
+ <<" CAFE1234AABBCCDD98765432000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (24 ), 16 ),
863
+ <<" 195FC2469557799BB30ECA8640000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (29 ), 16 ),
864
+ <<" CAFE1234AABBCCDD9876543200000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (32 ), 16 ),
865
+ <<" 657F091A555DE66ECC3B2A19000000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (35 ), 16 ),
866
+ <<" CAFE1234AABBCCDD98765432000000000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (48 ), 16 ),
867
+ <<" 657F091A555DE66ECC3B2A190000000000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (51 ), 16 ),
868
+ <<" CAFE1234AABBCCDD987654320000000000000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (64 ), 16 ),
869
+ <<" CAFE1234AABBCCDD987654320000000000000000000000000000000000000000" >> = erlang :integer_to_binary (Pattern1 bsl ? MODULE :id (160 ), 16 ),
870
+ <<" 657F00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (16#CAFE ) bsl ? MODULE :id (127 ), 16 ),
871
+ <<" CAFE00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (16#CAFE ) bsl ? MODULE :id (128 ), 16 ),
872
+ <<" 195FC00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (16#CAFE ) bsl ? MODULE :id (129 ), 16 ),
873
+ <<" CAFE000000000000000000000000000000000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (16#CAFE ) bsl ? MODULE :id (240 ), 16 ),
874
+
875
+ Pattern2 = erlang :binary_to_integer (? MODULE :id (<<" -CAFE1234AABBCCDD98765432" >>), 16 ),
876
+ <<" -CAFE1234AABBCCDD98765432000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (24 ), 16 ),
877
+ <<" -195FC2469557799BB30ECA8640000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (29 ), 16 ),
878
+ <<" -CAFE1234AABBCCDD9876543200000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (32 ), 16 ),
879
+ <<" -657F091A555DE66ECC3B2A19000000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (35 ), 16 ),
880
+ <<" -CAFE1234AABBCCDD98765432000000000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (48 ), 16 ),
881
+ <<" -657F091A555DE66ECC3B2A190000000000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (51 ), 16 ),
882
+ <<" -CAFE1234AABBCCDD987654320000000000000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (64 ), 16 ),
883
+ <<" -CAFE1234AABBCCDD987654320000000000000000000000000000000000000000" >> = erlang :integer_to_binary (Pattern2 bsl ? MODULE :id (160 ), 16 ),
884
+ <<" -657F00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (- 16#CAFE ) bsl ? MODULE :id (127 ), 16 ),
885
+ <<" -CAFE00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (- 16#CAFE ) bsl ? MODULE :id (128 ), 16 ),
886
+ <<" -195FC00000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (- 16#CAFE ) bsl ? MODULE :id (129 ), 16 ),
887
+ <<" -CAFE000000000000000000000000000000000000000000000000000000000000" >> = erlang :integer_to_binary (? MODULE :id (- 16#CAFE ) bsl ? MODULE :id (240 ), 16 ),
888
+
889
+
890
+
891
+ 0 .
892
+
893
+
858
894
id (X ) ->
859
895
X .
860
896
0 commit comments