|
|
@@ -479,7 +479,7 @@ fn addmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(addmod(500, 100, 3) == 200);
|
|
|
+ assert(addmod(500, 100, 3) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -491,12 +491,12 @@ fn addmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(addmod(500, 100, 0) == 200);
|
|
|
+ assert(addmod(500, 100, 0) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
|
|
|
- runtime.function_expect_failure("test", Vec::new());
|
|
|
+ runtime.function("test", Vec::new());
|
|
|
|
|
|
// bigger numbers (64 bit)
|
|
|
let mut runtime = build_solidity(
|
|
|
@@ -507,7 +507,7 @@ fn addmod() {
|
|
|
assert(addmod(
|
|
|
0,
|
|
|
134_480_801_439_669_508_040_541_782_812_209_371_611,
|
|
|
- 16_473_784_705_703_234_153) == 8_163_321_534_310_945_187);
|
|
|
+ 16_473_784_705_703_234_153) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -523,7 +523,7 @@ fn addmod() {
|
|
|
assert(addmod(
|
|
|
0,
|
|
|
37_927_759_795_988_462_606_362_647_643_228_779_300_269_446_446_871_437_380_583_919_404_728_626_309_579,
|
|
|
- 148_872_967_607_295_528_830_315_866_466_318_446_379) == 254_765_928_331_839_140_628_748_569_208_536_440_801);
|
|
|
+ 148_872_967_607_295_528_830_315_866_466_318_446_379) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -538,7 +538,7 @@ fn addmod() {
|
|
|
assert(addmod(
|
|
|
109802613191917590715814365746623394364442484359636492253827647701845853490667,
|
|
|
49050800785888222684575674817707208319566972397745729319314900174750088808217,
|
|
|
- 233) == 681774308917621516739871418731032629545104964623958032502757716208566275960);
|
|
|
+ 233) == 204);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -552,7 +552,7 @@ fn addmod() {
|
|
|
assert(addmod(
|
|
|
109802613191917590715814365746623394364442484359636492253827647701845853490667,
|
|
|
109802613191917590715814365746623394364442484359636492253827647701845853490667,
|
|
|
- 2) == 109802613191917590715814365746623394364442484359636492253827647701845853490667);
|
|
|
+ 2) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -567,7 +567,7 @@ fn mulmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(500, 100, 5) == 10000);
|
|
|
+ assert(mulmod(500, 100, 5) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -579,19 +579,19 @@ fn mulmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(500, 100, 0) == 200);
|
|
|
+ assert(mulmod(500, 100, 0) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
|
|
|
- runtime.function_expect_failure("test", Vec::new());
|
|
|
+ runtime.function("test", Vec::new());
|
|
|
|
|
|
// bigger numbers
|
|
|
let mut runtime = build_solidity(
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(50000, 10000, 5) == 10000_0000);
|
|
|
+ assert(mulmod(50000, 10000, 5) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -602,7 +602,7 @@ fn mulmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(18446744073709551616, 18446744073709550403, 1024) == 332306998946228946374486373068439552);
|
|
|
+ assert(mulmod(18446744073709551616, 18446744073709550403, 1024) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -614,7 +614,7 @@ fn mulmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(170141183460469231731687303715884105728, 170141183460469231731687303715884105728, 170141183460469231731687303715884105728) == 170141183460469231731687303715884105728);
|
|
|
+ assert(mulmod(170141183460469231731687303715884105728, 170141183460469231731687303715884105728, 170141183460469231731687303715884105728) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -626,7 +626,7 @@ fn mulmod() {
|
|
|
r##"
|
|
|
contract x {
|
|
|
function test() public {
|
|
|
- assert(mulmod(340282366920938463463374607431768211456, 340282366920938463463374607431768211456, 340282366920938463463374607431768211456) == 340282366920938463463374607431768211456);
|
|
|
+ assert(mulmod(340282366920938463463374607431768211456, 340282366920938463463374607431768211456, 340282366920938463463374607431768211456) == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -641,7 +641,7 @@ fn mulmod() {
|
|
|
assert(mulmod(1766847064778384329583297500742918515827483896875618958121606201292619776,
|
|
|
1766847064778384329583297500742918515827483896875618958121606201292619776,
|
|
|
1766847064778384329583297500742918515827483896875618958121606201292619776)
|
|
|
- == 1766847064778384329583297500742918515827483896875618958121606201292619776);
|
|
|
+ == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -656,7 +656,7 @@ fn mulmod() {
|
|
|
assert(mulmod(824364134751099588297822369420176791913922347811791536817152126684405253,
|
|
|
824364134751099588297822369420176791913922347811791536817152126684405253,
|
|
|
824364134751099588297822369420176791913922347811791536817152126684405253)
|
|
|
- == 824364134751099588297822369420176791913922347811791536817152126684405253);
|
|
|
+ == 0);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|
|
|
@@ -671,7 +671,21 @@ fn mulmod() {
|
|
|
assert(mulmod(113477814626329405513123655892059150026234290706112418221315641434319827527851,
|
|
|
113477814626329405513123655892059150026234290706112418221315641434319827527851,
|
|
|
113477814626329405513123655892059150026234290706112418221315641434319827527851)
|
|
|
- == 113477814626329405513123655892059150026234290706112418221315641434319827527851);
|
|
|
+ == 0);
|
|
|
+ }
|
|
|
+ }"##,
|
|
|
+ );
|
|
|
+
|
|
|
+ runtime.function("test", Vec::new());
|
|
|
+
|
|
|
+ let mut runtime = build_solidity(
|
|
|
+ r##"
|
|
|
+ contract x {
|
|
|
+ function test() public {
|
|
|
+ assert(mulmod(113477814626329405513123655892059150026234290706112418221315641434319827527851,
|
|
|
+ 113477814626329405513123655892059150026234290706112418221315641434319827527841,
|
|
|
+ 233)
|
|
|
+ == 12);
|
|
|
}
|
|
|
}"##,
|
|
|
);
|