Skip to content

Commit 0c0cb1c

Browse files
committed
adding new test scenarios for longer binary operations
1 parent f86b2ab commit 0c0cb1c

32 files changed

Lines changed: 9950 additions & 0 deletions
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity 0.8.28;
3+
4+
contract AddGroup {
5+
function addAdd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
6+
public
7+
pure
8+
returns (uint256)
9+
{
10+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB + veryVeryVeryLongParameterC;
11+
}
12+
13+
function addSub(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
14+
public
15+
pure
16+
returns (uint256)
17+
{
18+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB - veryVeryVeryLongParameterC;
19+
}
20+
21+
function addMul(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
22+
public
23+
pure
24+
returns (uint256)
25+
{
26+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB * veryVeryVeryLongParameterC;
27+
}
28+
29+
function addDiv(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
30+
public
31+
pure
32+
returns (uint256)
33+
{
34+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB / veryVeryVeryLongParameterC;
35+
}
36+
37+
function addMod(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
38+
public
39+
pure
40+
returns (uint256)
41+
{
42+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB % veryVeryVeryLongParameterC;
43+
}
44+
45+
function addExp(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
46+
public
47+
pure
48+
returns (uint256)
49+
{
50+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB ** veryVeryVeryLongParameterC;
51+
}
52+
53+
function addShiftL(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
54+
public
55+
pure
56+
returns (uint256)
57+
{
58+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB << veryVeryVeryLongParameterC;
59+
}
60+
61+
function addShiftR(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
62+
public
63+
pure
64+
returns (uint256)
65+
{
66+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB >> veryVeryVeryLongParameterC;
67+
}
68+
69+
function addBitAnd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
70+
public
71+
pure
72+
returns (uint256)
73+
{
74+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB & veryVeryVeryLongParameterC;
75+
}
76+
77+
function addBitOr(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
78+
public
79+
pure
80+
returns (uint256)
81+
{
82+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB | veryVeryVeryLongParameterC;
83+
}
84+
85+
function addBitXor(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
86+
public
87+
pure
88+
returns (uint256)
89+
{
90+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB ^ veryVeryVeryLongParameterC;
91+
}
92+
93+
function addEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
94+
public
95+
pure
96+
returns (bool)
97+
{
98+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB == veryVeryVeryLongParameterC;
99+
}
100+
101+
function addNotEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
102+
public
103+
pure
104+
returns (bool)
105+
{
106+
return veryVeryVeryLongParameterA + veryVeryVeryLongParameterB != veryVeryVeryLongParameterC;
107+
}
108+
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity 0.8.28;
3+
4+
contract BitAndGroup {
5+
function bitAndAdd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
6+
public
7+
pure
8+
returns (uint256)
9+
{
10+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB + veryVeryVeryLongParameterC;
11+
}
12+
13+
function bitAndSub(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
14+
public
15+
pure
16+
returns (uint256)
17+
{
18+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB - veryVeryVeryLongParameterC;
19+
}
20+
21+
function bitAndMul(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
22+
public
23+
pure
24+
returns (uint256)
25+
{
26+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB * veryVeryVeryLongParameterC;
27+
}
28+
29+
function bitAndDiv(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
30+
public
31+
pure
32+
returns (uint256)
33+
{
34+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB / veryVeryVeryLongParameterC;
35+
}
36+
37+
function bitAndMod(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
38+
public
39+
pure
40+
returns (uint256)
41+
{
42+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB % veryVeryVeryLongParameterC;
43+
}
44+
45+
function bitAndExp(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
46+
public
47+
pure
48+
returns (uint256)
49+
{
50+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB ** veryVeryVeryLongParameterC;
51+
}
52+
53+
function bitAndShiftL(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
54+
public
55+
pure
56+
returns (uint256)
57+
{
58+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB << veryVeryVeryLongParameterC;
59+
}
60+
61+
function bitAndShiftR(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
62+
public
63+
pure
64+
returns (uint256)
65+
{
66+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB >> veryVeryVeryLongParameterC;
67+
}
68+
69+
function bitAndBitAnd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
70+
public
71+
pure
72+
returns (uint256)
73+
{
74+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB & veryVeryVeryLongParameterC;
75+
}
76+
77+
function bitAndBitOr(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
78+
public
79+
pure
80+
returns (uint256)
81+
{
82+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB | veryVeryVeryLongParameterC;
83+
}
84+
85+
function bitAndBitXor(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
86+
public
87+
pure
88+
returns (uint256)
89+
{
90+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB ^ veryVeryVeryLongParameterC;
91+
}
92+
93+
function bitAndEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
94+
public
95+
pure
96+
returns (bool)
97+
{
98+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB == veryVeryVeryLongParameterC;
99+
}
100+
101+
function bitAndNotEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
102+
public
103+
pure
104+
returns (bool)
105+
{
106+
return veryVeryVeryLongParameterA & veryVeryVeryLongParameterB != veryVeryVeryLongParameterC;
107+
}
108+
}
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity 0.8.28;
3+
4+
contract BitOrGroup {
5+
function bitOrAdd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
6+
public
7+
pure
8+
returns (uint256)
9+
{
10+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB + veryVeryVeryLongParameterC;
11+
}
12+
13+
function bitOrSub(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
14+
public
15+
pure
16+
returns (uint256)
17+
{
18+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB - veryVeryVeryLongParameterC;
19+
}
20+
21+
function bitOrMul(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
22+
public
23+
pure
24+
returns (uint256)
25+
{
26+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB * veryVeryVeryLongParameterC;
27+
}
28+
29+
function bitOrDiv(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
30+
public
31+
pure
32+
returns (uint256)
33+
{
34+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB / veryVeryVeryLongParameterC;
35+
}
36+
37+
function bitOrMod(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
38+
public
39+
pure
40+
returns (uint256)
41+
{
42+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB % veryVeryVeryLongParameterC;
43+
}
44+
45+
function bitOrExp(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
46+
public
47+
pure
48+
returns (uint256)
49+
{
50+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB ** veryVeryVeryLongParameterC;
51+
}
52+
53+
function bitOrShiftL(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
54+
public
55+
pure
56+
returns (uint256)
57+
{
58+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB << veryVeryVeryLongParameterC;
59+
}
60+
61+
function bitOrShiftR(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
62+
public
63+
pure
64+
returns (uint256)
65+
{
66+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB >> veryVeryVeryLongParameterC;
67+
}
68+
69+
function bitOrBitAnd(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
70+
public
71+
pure
72+
returns (uint256)
73+
{
74+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB & veryVeryVeryLongParameterC;
75+
}
76+
77+
function bitOrBitOr(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
78+
public
79+
pure
80+
returns (uint256)
81+
{
82+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB | veryVeryVeryLongParameterC;
83+
}
84+
85+
function bitOrBitXor(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
86+
public
87+
pure
88+
returns (uint256)
89+
{
90+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB ^ veryVeryVeryLongParameterC;
91+
}
92+
93+
function bitOrEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
94+
public
95+
pure
96+
returns (bool)
97+
{
98+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB == veryVeryVeryLongParameterC;
99+
}
100+
101+
function bitOrNotEqual(uint256 veryVeryVeryLongParameterA, uint256 veryVeryVeryLongParameterB, uint256 veryVeryVeryLongParameterC)
102+
public
103+
pure
104+
returns (bool)
105+
{
106+
return veryVeryVeryLongParameterA | veryVeryVeryLongParameterB != veryVeryVeryLongParameterC;
107+
}
108+
}

0 commit comments

Comments
 (0)