mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
32 lines
1.3 KiB
Solidity
32 lines
1.3 KiB
Solidity
contract C {
|
|
function f(uint8 x, uint8 y) public returns (uint) {
|
|
return x**y;
|
|
}
|
|
function g(uint x, uint y) public returns (uint) {
|
|
return x**y;
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// f(uint8,uint8): 2, 7 -> 0x80
|
|
// f(uint8,uint8): 2, 8 -> FAILURE
|
|
// f(uint8,uint8): 15, 2 -> 225
|
|
// f(uint8,uint8): 6, 3 -> 0xd8
|
|
// f(uint8,uint8): 7, 2 -> 0x31
|
|
// f(uint8,uint8): 7, 3 -> FAILURE
|
|
// f(uint8,uint8): 7, 4 -> FAILURE
|
|
// f(uint8,uint8): 255, 31 -> FAILURE
|
|
// f(uint8,uint8): 255, 131 -> FAILURE
|
|
// g(uint256,uint256): 0x200000000000000000000000000000000, 1 -> 0x0200000000000000000000000000000000
|
|
// g(uint256,uint256): 0x100000000000000000000000000000010, 2 -> FAILURE
|
|
// g(uint256,uint256): 0x200000000000000000000000000000000, 2 -> FAILURE
|
|
// g(uint256,uint256): 0x200000000000000000000000000000000, 3 -> FAILURE
|
|
// g(uint256,uint256): 255, 31 -> 400631961586894742455537928461950192806830589109049416147172451019287109375
|
|
// g(uint256,uint256): 255, 32 -> -13630939032658036097408813250890608687528184442832962921928608997994916749311
|
|
// g(uint256,uint256): 255, 33 -> FAILURE
|
|
// g(uint256,uint256): 255, 131 -> FAILURE
|
|
// g(uint256,uint256): 258, 31 -> 575719427506838823084316385994930914701079543089399988096291424922125729792
|
|
// g(uint256,uint256): 258, 37 -> FAILURE
|
|
// g(uint256,uint256): 258, 131 -> FAILURE
|