6055 lines
259 KiB
JSON
6055 lines
259 KiB
JSON
{
|
|
"abi": [],
|
|
"bytecode": {
|
|
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206969cb09aa8bcfa4f9201fc201ab72e8b4d2a48b4c63fe3002e5c2b24c93c65764736f6c63430008160033",
|
|
"sourceMap": "115:1845:65:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;115:1845:65;;;;;;;;;;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"deployedBytecode": {
|
|
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206969cb09aa8bcfa4f9201fc201ab72e8b4d2a48b4c63fe3002e5c2b24c93c65764736f6c63430008160033",
|
|
"sourceMap": "115:1845:65:-:0;;;;;;;;",
|
|
"linkReferences": {}
|
|
},
|
|
"methodIdentifiers": {},
|
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TestIEEE754.sol\":\"IEEE754\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"test/TestIEEE754.sol\":{\"keccak256\":\"0x5e93ca039c105bb9e6d28c634ca32dfa615acb5d4f07fd1b7f5c3ea2265b8072\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e4c15b9869557d0163d4524a61807f30f83890080b29ce2291c338348947ac69\",\"dweb:/ipfs/QmZrpb1bfFy79hzk4uTCYY8dqn3941WaHtbGyM97isgLR1\"]}},\"version\":1}",
|
|
"metadata": {
|
|
"compiler": {
|
|
"version": "0.8.22+commit.4fc1097e"
|
|
},
|
|
"language": "Solidity",
|
|
"output": {
|
|
"abi": [],
|
|
"devdoc": {
|
|
"kind": "dev",
|
|
"methods": {},
|
|
"version": 1
|
|
},
|
|
"userdoc": {
|
|
"kind": "user",
|
|
"methods": {},
|
|
"version": 1
|
|
}
|
|
},
|
|
"settings": {
|
|
"remappings": [
|
|
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
|
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
|
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
|
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
|
"forge-std/=lib/forge-std/src/",
|
|
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
|
"v3-core/=lib_uniswap/v3-core/",
|
|
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
|
],
|
|
"optimizer": {
|
|
"runs": 999999999,
|
|
"details": {
|
|
"peephole": true,
|
|
"inliner": true,
|
|
"jumpdestRemover": true,
|
|
"orderLiterals": true,
|
|
"deduplicate": true,
|
|
"cse": true,
|
|
"constantOptimizer": true,
|
|
"yul": true,
|
|
"yulDetails": {
|
|
"stackAllocation": true,
|
|
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
|
}
|
|
}
|
|
},
|
|
"metadata": {
|
|
"bytecodeHash": "ipfs"
|
|
},
|
|
"compilationTarget": {
|
|
"test/TestIEEE754.sol": "IEEE754"
|
|
},
|
|
"libraries": {}
|
|
},
|
|
"sources": {
|
|
"lib/forge-std/lib/ds-test/src/test.sol": {
|
|
"keccak256": "0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b",
|
|
"urls": [
|
|
"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240",
|
|
"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"
|
|
],
|
|
"license": "GPL-3.0-or-later"
|
|
},
|
|
"lib/forge-std/src/Base.sol": {
|
|
"keccak256": "0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c",
|
|
"urls": [
|
|
"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224",
|
|
"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdAssertions.sol": {
|
|
"keccak256": "0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60",
|
|
"urls": [
|
|
"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b",
|
|
"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdChains.sol": {
|
|
"keccak256": "0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6",
|
|
"urls": [
|
|
"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d",
|
|
"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdCheats.sol": {
|
|
"keccak256": "0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5",
|
|
"urls": [
|
|
"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a",
|
|
"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdError.sol": {
|
|
"keccak256": "0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77",
|
|
"urls": [
|
|
"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6",
|
|
"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdInvariant.sol": {
|
|
"keccak256": "0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1",
|
|
"urls": [
|
|
"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c",
|
|
"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdJson.sol": {
|
|
"keccak256": "0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b",
|
|
"urls": [
|
|
"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c",
|
|
"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdMath.sol": {
|
|
"keccak256": "0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2",
|
|
"urls": [
|
|
"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92",
|
|
"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdStorage.sol": {
|
|
"keccak256": "0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d",
|
|
"urls": [
|
|
"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26",
|
|
"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdStyle.sol": {
|
|
"keccak256": "0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d",
|
|
"urls": [
|
|
"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8",
|
|
"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/StdUtils.sol": {
|
|
"keccak256": "0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1",
|
|
"urls": [
|
|
"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140",
|
|
"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/Test.sol": {
|
|
"keccak256": "0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24",
|
|
"urls": [
|
|
"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb",
|
|
"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/Vm.sol": {
|
|
"keccak256": "0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5",
|
|
"urls": [
|
|
"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c",
|
|
"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/console.sol": {
|
|
"keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba",
|
|
"urls": [
|
|
"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70",
|
|
"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/console2.sol": {
|
|
"keccak256": "0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea",
|
|
"urls": [
|
|
"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973",
|
|
"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/interfaces/IMulticall3.sol": {
|
|
"keccak256": "0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a",
|
|
"urls": [
|
|
"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0",
|
|
"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"lib/forge-std/src/safeconsole.sol": {
|
|
"keccak256": "0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381",
|
|
"urls": [
|
|
"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae",
|
|
"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"
|
|
],
|
|
"license": "MIT"
|
|
},
|
|
"test/TestIEEE754.sol": {
|
|
"keccak256": "0x5e93ca039c105bb9e6d28c634ca32dfa615acb5d4f07fd1b7f5c3ea2265b8072",
|
|
"urls": [
|
|
"bzz-raw://e4c15b9869557d0163d4524a61807f30f83890080b29ce2291c338348947ac69",
|
|
"dweb:/ipfs/QmZrpb1bfFy79hzk4uTCYY8dqn3941WaHtbGyM97isgLR1"
|
|
],
|
|
"license": "UNLICENSED"
|
|
}
|
|
},
|
|
"version": 1
|
|
},
|
|
"ast": {
|
|
"absolutePath": "test/TestIEEE754.sol",
|
|
"id": 50824,
|
|
"exportedSymbols": {
|
|
"DSTest": [
|
|
2291
|
|
],
|
|
"IEEE754": [
|
|
50578
|
|
],
|
|
"StdAssertions": [
|
|
3823
|
|
],
|
|
"StdChains": [
|
|
4516
|
|
],
|
|
"StdCheats": [
|
|
7334
|
|
],
|
|
"StdInvariant": [
|
|
7624
|
|
],
|
|
"StdStorage": [
|
|
8374
|
|
],
|
|
"StdStyle": [
|
|
11038
|
|
],
|
|
"StdUtils": [
|
|
11886
|
|
],
|
|
"Test": [
|
|
11937
|
|
],
|
|
"TestBase": [
|
|
2357
|
|
],
|
|
"TestIEEE754": [
|
|
50823
|
|
],
|
|
"Vm": [
|
|
13464
|
|
],
|
|
"console": [
|
|
21528
|
|
],
|
|
"console2": [
|
|
29653
|
|
],
|
|
"safeconsole": [
|
|
42891
|
|
],
|
|
"stdError": [
|
|
7400
|
|
],
|
|
"stdJson": [
|
|
8200
|
|
],
|
|
"stdMath": [
|
|
8342
|
|
],
|
|
"stdStorage": [
|
|
9827
|
|
]
|
|
},
|
|
"nodeType": "SourceUnit",
|
|
"src": "39:4089:65",
|
|
"nodes": [
|
|
{
|
|
"id": 50396,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "39:24:65",
|
|
"nodes": [],
|
|
"literals": [
|
|
"solidity",
|
|
">=",
|
|
"0.8",
|
|
".0"
|
|
]
|
|
},
|
|
{
|
|
"id": 50397,
|
|
"nodeType": "PragmaDirective",
|
|
"src": "64:19:65",
|
|
"nodes": [],
|
|
"literals": [
|
|
"abicoder",
|
|
"v2"
|
|
]
|
|
},
|
|
{
|
|
"id": 50398,
|
|
"nodeType": "ImportDirective",
|
|
"src": "85:28:65",
|
|
"nodes": [],
|
|
"absolutePath": "lib/forge-std/src/Test.sol",
|
|
"file": "forge-std/Test.sol",
|
|
"nameLocation": "-1:-1:-1",
|
|
"scope": 50824,
|
|
"sourceUnit": 11938,
|
|
"symbolAliases": [],
|
|
"unitAlias": ""
|
|
},
|
|
{
|
|
"id": 50578,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "115:1845:65",
|
|
"nodes": [
|
|
{
|
|
"id": 50436,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "177:195:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50435,
|
|
"nodeType": "Block",
|
|
"src": "251:121:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
"id": 50414,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50410,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50408,
|
|
"name": "p",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50402,
|
|
"src": "269:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">=",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50409,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "274:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "269:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&&",
|
|
"rightExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50413,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50411,
|
|
"name": "p",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50402,
|
|
"src": "279:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"hexValue": "323536",
|
|
"id": 50412,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "284:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_256_by_1",
|
|
"typeString": "int_const 256"
|
|
},
|
|
"value": "256"
|
|
},
|
|
"src": "279:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"src": "269:18:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "7020696e76616c6964",
|
|
"id": 50415,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "289:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_8b592306eed1055dcdd948ca29407a1249cfe3e804496b2ead930aac834cd721",
|
|
"typeString": "literal_string \"p invalid\""
|
|
},
|
|
"value": "p invalid"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_8b592306eed1055dcdd948ca29407a1249cfe3e804496b2ead930aac834cd721",
|
|
"typeString": "literal_string \"p invalid\""
|
|
}
|
|
],
|
|
"id": 50407,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "261:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 50416,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "261:40:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50417,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "261:40:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50419
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50419,
|
|
"mutability": "mutable",
|
|
"name": "s",
|
|
"nameLocation": "319:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50435,
|
|
"src": "311:9:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50418,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "311:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50423,
|
|
"initialValue": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50422,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "323536",
|
|
"id": 50420,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "323:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_256_by_1",
|
|
"typeString": "int_const 256"
|
|
},
|
|
"value": "256"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 50421,
|
|
"name": "p",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50402,
|
|
"src": "329:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "323:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "311:19:65"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 50433,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50424,
|
|
"name": "r",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50405,
|
|
"src": "340:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50432,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50429,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50427,
|
|
"name": "b",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50400,
|
|
"src": "352:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"id": 50428,
|
|
"name": "s",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50419,
|
|
"src": "357:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "352:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 50426,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "344:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_int256_$",
|
|
"typeString": "type(int256)"
|
|
},
|
|
"typeName": {
|
|
"id": 50425,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "344:6:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50430,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "344:16:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"id": 50431,
|
|
"name": "s",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50419,
|
|
"src": "364:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "344:21:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "340:25:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50434,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "340:25:65"
|
|
}
|
|
]
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "bits2int",
|
|
"nameLocation": "186:8:65",
|
|
"parameters": {
|
|
"id": 50403,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 50400,
|
|
"mutability": "mutable",
|
|
"name": "b",
|
|
"nameLocation": "204:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50436,
|
|
"src": "196:9:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50399,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "196:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 50402,
|
|
"mutability": "mutable",
|
|
"name": "p",
|
|
"nameLocation": "215:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50436,
|
|
"src": "207:9:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50401,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "207:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "195:22:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50406,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 50405,
|
|
"mutability": "mutable",
|
|
"name": "r",
|
|
"nameLocation": "248:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50436,
|
|
"src": "241:8:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50404,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "241:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "240:10:65"
|
|
},
|
|
"scope": 50578,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50439,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "378:41:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "EBIAS",
|
|
"nameLocation": "403:5:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"typeName": {
|
|
"id": 50437,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "378:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "313237",
|
|
"id": 50438,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "416:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_127_by_1",
|
|
"typeString": "int_const 127"
|
|
},
|
|
"value": "127"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50442,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "425:42:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "ENAN",
|
|
"nameLocation": "450:4:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"typeName": {
|
|
"id": 50440,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "425:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "30786666",
|
|
"id": 50441,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "463:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_255_by_1",
|
|
"typeString": "int_const 255"
|
|
},
|
|
"value": "0xff"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50445,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "499:39:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "ESUBNORM",
|
|
"nameLocation": "524:8:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"typeName": {
|
|
"id": 50443,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "499:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "30",
|
|
"id": 50444,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "537:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50448,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "545:49:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "SIGN_MASK",
|
|
"nameLocation": "570:9:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50446,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "545:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "3078383030305f30303030",
|
|
"id": 50447,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "583:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2147483648_by_1",
|
|
"typeString": "int_const 2147483648"
|
|
},
|
|
"value": "0x8000_0000"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50451,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "600:49:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "EXP_MASK",
|
|
"nameLocation": "625:8:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50449,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "600:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "3078376638305f30303030",
|
|
"id": 50450,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "638:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2139095040_by_1",
|
|
"typeString": "int_const 2139095040"
|
|
},
|
|
"value": "0x7f80_0000"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50454,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "655:49:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "MANT_MASK",
|
|
"nameLocation": "680:9:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50452,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "655:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "3078303037665f66666666",
|
|
"id": 50453,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "693:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_8388607_by_1",
|
|
"typeString": "int_const 8388607"
|
|
},
|
|
"value": "0x007f_ffff"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50459,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "710:58:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "ZERO_MASK",
|
|
"nameLocation": "735:9:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50455,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "710:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"value": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50458,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50456,
|
|
"name": "EXP_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50451,
|
|
"src": "748:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "|",
|
|
"rightExpression": {
|
|
"id": 50457,
|
|
"name": "MANT_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50454,
|
|
"src": "759:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"src": "748:20:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50462,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "774:49:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "MSB",
|
|
"nameLocation": "799:3:65",
|
|
"scope": 50578,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"typeName": {
|
|
"id": 50460,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "774:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "3078303038305f30303030",
|
|
"id": 50461,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "812:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_8388608_by_1",
|
|
"typeString": "int_const 8388608"
|
|
},
|
|
"value": "0x0080_0000"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50577,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "852:1106:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50576,
|
|
"nodeType": "Block",
|
|
"src": "955:1003:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"id": 50575,
|
|
"nodeType": "UncheckedBlock",
|
|
"src": "956:1001:65",
|
|
"statements": [
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50475,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50473,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50471,
|
|
"name": "floatingPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50464,
|
|
"src": "1002:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"id": 50472,
|
|
"name": "ZERO_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50459,
|
|
"src": "1018:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"src": "1002:25:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 50474,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1031:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1002:30:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 50478,
|
|
"nodeType": "IfStatement",
|
|
"src": "998:44:65",
|
|
"trueBody": {
|
|
"expression": {
|
|
"hexValue": "30",
|
|
"id": 50476,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1041:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"functionReturnParameters": 50470,
|
|
"id": 50477,
|
|
"nodeType": "Return",
|
|
"src": "1034:8:65"
|
|
}
|
|
},
|
|
{
|
|
"assignments": [
|
|
50480
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50480,
|
|
"mutability": "mutable",
|
|
"name": "exp",
|
|
"nameLocation": "1095:3:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50575,
|
|
"src": "1088:10:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"typeName": {
|
|
"id": 50479,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1088:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50489,
|
|
"initialValue": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50488,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50485,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50483,
|
|
"name": "floatingPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50464,
|
|
"src": "1107:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"id": 50484,
|
|
"name": "EXP_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50451,
|
|
"src": "1123:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"src": "1107:24:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
],
|
|
"id": 50482,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1101:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_int32_$",
|
|
"typeString": "type(int32)"
|
|
},
|
|
"typeName": {
|
|
"id": 50481,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1101:5:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50486,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1101:31:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"hexValue": "3233",
|
|
"id": 50487,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1136:2:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_23_by_1",
|
|
"typeString": "int_const 23"
|
|
},
|
|
"value": "23"
|
|
},
|
|
"src": "1101:37:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1088:50:65"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50493,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50491,
|
|
"name": "exp",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50480,
|
|
"src": "1157:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"id": 50492,
|
|
"name": "ENAN",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50442,
|
|
"src": "1164:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1157:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
{
|
|
"hexValue": "4e614e206e6f7420737570706f72746564",
|
|
"id": 50494,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1170:19:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_99bebfbf084fa3004c97aa5e5b0e6afbfdbe84ab9e1227d03f980ea0e8bf4b1e",
|
|
"typeString": "literal_string \"NaN not supported\""
|
|
},
|
|
"value": "NaN not supported"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_stringliteral_99bebfbf084fa3004c97aa5e5b0e6afbfdbe84ab9e1227d03f980ea0e8bf4b1e",
|
|
"typeString": "literal_string \"NaN not supported\""
|
|
}
|
|
],
|
|
"id": 50490,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "1148:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (bool,string memory) pure"
|
|
}
|
|
},
|
|
"id": 50495,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1148:42:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50496,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1148:42:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50498
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50498,
|
|
"mutability": "mutable",
|
|
"name": "mant",
|
|
"nameLocation": "1240:4:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50575,
|
|
"src": "1233:11:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50497,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1233:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50505,
|
|
"initialValue": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50503,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50501,
|
|
"name": "floatingPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50464,
|
|
"src": "1253:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"id": 50502,
|
|
"name": "MANT_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50454,
|
|
"src": "1269:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"src": "1253:25:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
],
|
|
"id": 50500,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1247:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_int32_$",
|
|
"typeString": "type(int32)"
|
|
},
|
|
"typeName": {
|
|
"id": 50499,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1247:5:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50504,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1247:32:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1233:46:65"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50508,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50506,
|
|
"name": "exp",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50480,
|
|
"src": "1293:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"id": 50507,
|
|
"name": "ESUBNORM",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50445,
|
|
"src": "1300:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1293:15:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 50513,
|
|
"nodeType": "IfStatement",
|
|
"src": "1289:32:65",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 50511,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50509,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1310:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "|=",
|
|
"rightHandSide": {
|
|
"id": 50510,
|
|
"name": "MSB",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50462,
|
|
"src": "1318:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1310:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50512,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1310:11:65"
|
|
}
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50518,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"id": 50516,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50514,
|
|
"name": "floatingPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50464,
|
|
"src": "1387:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "&",
|
|
"rightExpression": {
|
|
"id": 50515,
|
|
"name": "SIGN_MASK",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50448,
|
|
"src": "1403:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"src": "1387:25:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "!=",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 50517,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1416:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1387:30:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 50524,
|
|
"nodeType": "IfStatement",
|
|
"src": "1383:48:65",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 50522,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50519,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1419:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 50521,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "-",
|
|
"prefix": true,
|
|
"src": "1426:5:65",
|
|
"subExpression": {
|
|
"id": 50520,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1427:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "1419:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50523,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1419:12:65"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 50529,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50525,
|
|
"name": "exp",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50480,
|
|
"src": "1501:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50528,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50526,
|
|
"name": "exp",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50480,
|
|
"src": "1507:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 50527,
|
|
"name": "EBIAS",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50439,
|
|
"src": "1513:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1507:11:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1501:17:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"id": 50530,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1501:17:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50532
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50532,
|
|
"mutability": "mutable",
|
|
"name": "rshft",
|
|
"nameLocation": "1559:5:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50575,
|
|
"src": "1552:12:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50531,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1552:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50541,
|
|
"initialValue": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50540,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
},
|
|
"id": 50538,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "3233",
|
|
"id": 50533,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1567:2:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_23_by_1",
|
|
"typeString": "int_const 23"
|
|
},
|
|
"value": "23"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 50536,
|
|
"name": "fixedBits",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50466,
|
|
"src": "1578:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
],
|
|
"id": 50535,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1572:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_int32_$",
|
|
"typeString": "type(int32)"
|
|
},
|
|
"typeName": {
|
|
"id": 50534,
|
|
"name": "int32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1572:5:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50537,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1572:16:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1567:21:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"id": 50539,
|
|
"name": "exp",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50480,
|
|
"src": "1591:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"src": "1567:27:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int32",
|
|
"typeString": "int32"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "1552:42:65"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50544,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50542,
|
|
"name": "rshft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50532,
|
|
"src": "1721:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 50543,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1729:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1721:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50557,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50555,
|
|
"name": "rshft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50532,
|
|
"src": "1820:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 50556,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "1828:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "1820:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"expression": {
|
|
"id": 50569,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50567,
|
|
"name": "fixedPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50469,
|
|
"src": "1905:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"id": 50568,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1918:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "1905:17:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50570,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1905:17:65"
|
|
},
|
|
"id": 50571,
|
|
"nodeType": "IfStatement",
|
|
"src": "1816:106:65",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 50565,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50558,
|
|
"name": "fixedPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50469,
|
|
"src": "1843:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50564,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50559,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1856:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 50562,
|
|
"name": "rshft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50532,
|
|
"src": "1872:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
],
|
|
"id": 50561,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1864:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 50560,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1864:7:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50563,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1864:14:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1856:22:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "1843:35:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50566,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1843:35:65"
|
|
}
|
|
},
|
|
"id": 50572,
|
|
"nodeType": "IfStatement",
|
|
"src": "1717:205:65",
|
|
"trueBody": {
|
|
"expression": {
|
|
"id": 50553,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50545,
|
|
"name": "fixedPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50469,
|
|
"src": "1765:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50552,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50546,
|
|
"name": "mant",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50498,
|
|
"src": "1778:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"id": 50550,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "-",
|
|
"prefix": true,
|
|
"src": "1794:6:65",
|
|
"subExpression": {
|
|
"id": 50549,
|
|
"name": "rshft",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50532,
|
|
"src": "1795:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
],
|
|
"id": 50548,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "1786:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_uint256_$",
|
|
"typeString": "type(uint256)"
|
|
},
|
|
"typeName": {
|
|
"id": 50547,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "1786:7:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50551,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "1786:15:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "1778:23:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "1765:36:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50554,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "1765:36:65"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 50573,
|
|
"name": "fixedPoint",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50469,
|
|
"src": "1940:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"functionReturnParameters": 50470,
|
|
"id": 50574,
|
|
"nodeType": "Return",
|
|
"src": "1933:17:65"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "float2fixed",
|
|
"nameLocation": "861:11:65",
|
|
"parameters": {
|
|
"id": 50467,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 50464,
|
|
"mutability": "mutable",
|
|
"name": "floatingPoint",
|
|
"nameLocation": "880:13:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50577,
|
|
"src": "873:20:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50463,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "873:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 50466,
|
|
"mutability": "mutable",
|
|
"name": "fixedBits",
|
|
"nameLocation": "902:9:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50577,
|
|
"src": "895:16:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50465,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "895:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "872:40:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50470,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 50469,
|
|
"mutability": "mutable",
|
|
"name": "fixedPoint",
|
|
"nameLocation": "943:10:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50577,
|
|
"src": "936:17:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50468,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "936:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "935:19:65"
|
|
},
|
|
"scope": 50578,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"canonicalName": "IEEE754",
|
|
"contractDependencies": [],
|
|
"contractKind": "library",
|
|
"fullyImplemented": true,
|
|
"linearizedBaseContracts": [
|
|
50578
|
|
],
|
|
"name": "IEEE754",
|
|
"nameLocation": "123:7:65",
|
|
"scope": 50824,
|
|
"usedErrors": [],
|
|
"usedEvents": []
|
|
},
|
|
{
|
|
"id": 50823,
|
|
"nodeType": "ContractDefinition",
|
|
"src": "1962:2165:65",
|
|
"nodes": [
|
|
{
|
|
"id": 50590,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "1998:81:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50589,
|
|
"nodeType": "Block",
|
|
"src": "2029:50:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "54657374466c6f61742073657475702829",
|
|
"id": 50586,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2052:19:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_0896eb74f075dd684f424c18206056b75abfca11e5ce3995711820731e6a9cc1",
|
|
"typeString": "literal_string \"TestFloat setup()\""
|
|
},
|
|
"value": "TestFloat setup()"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_0896eb74f075dd684f424c18206056b75abfca11e5ce3995711820731e6a9cc1",
|
|
"typeString": "literal_string \"TestFloat setup()\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50583,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2039:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 50585,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2048:3:65",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "2039:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 50587,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2039:33:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50588,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2039:33:65"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "0a9254e4",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "setUp",
|
|
"nameLocation": "2007:5:65",
|
|
"parameters": {
|
|
"id": 50581,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2012:2:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50582,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2029:0:65"
|
|
},
|
|
"scope": 50823,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 50593,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "2110:34:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "umin",
|
|
"nameLocation": "2136:4:65",
|
|
"scope": 50823,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50591,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2110:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": {
|
|
"hexValue": "30",
|
|
"id": 50592,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2143:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50597,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "2150:38:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "umax",
|
|
"nameLocation": "2176:4:65",
|
|
"scope": 50823,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50594,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2150:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"value": {
|
|
"id": 50596,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "~",
|
|
"prefix": true,
|
|
"src": "2183:5:65",
|
|
"subExpression": {
|
|
"id": 50595,
|
|
"name": "umin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50593,
|
|
"src": "2184:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50605,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "2215:48:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "imax",
|
|
"nameLocation": "2241:4:65",
|
|
"scope": 50823,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50598,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2215:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"value": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50603,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50601,
|
|
"name": "umax",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50597,
|
|
"src": "2255:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": ">>",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50602,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2261:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2255:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
],
|
|
"id": 50600,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "2248:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_int256_$",
|
|
"typeString": "type(int256)"
|
|
},
|
|
"typeName": {
|
|
"id": 50599,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2248:6:65",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 50604,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2248:15:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50609,
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "2280:38:65",
|
|
"nodes": [],
|
|
"constant": true,
|
|
"mutability": "constant",
|
|
"name": "imin",
|
|
"nameLocation": "2306:4:65",
|
|
"scope": 50823,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50606,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2280:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"value": {
|
|
"id": 50608,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "~",
|
|
"prefix": true,
|
|
"src": "2313:5:65",
|
|
"subExpression": {
|
|
"id": 50607,
|
|
"name": "imax",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50605,
|
|
"src": "2314:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"id": 50673,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "2408:446:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50672,
|
|
"nodeType": "Block",
|
|
"src": "2455:399:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "73616e69747952657665727473",
|
|
"id": 50617,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2478:15:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_fafd0e5a2c531a9d45dd7dee00e91efbb51a89d15a0ffa4b23e283a9bc2d768d",
|
|
"typeString": "literal_string \"sanityReverts\""
|
|
},
|
|
"value": "sanityReverts"
|
|
},
|
|
{
|
|
"id": 50618,
|
|
"name": "t",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50611,
|
|
"src": "2495:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_fafd0e5a2c531a9d45dd7dee00e91efbb51a89d15a0ffa4b23e283a9bc2d768d",
|
|
"typeString": "literal_string \"sanityReverts\""
|
|
},
|
|
{
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50614,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2465:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 50616,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2474:3:65",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22297,
|
|
"src": "2465:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_int256_$returns$__$",
|
|
"typeString": "function (string memory,int256) pure"
|
|
}
|
|
},
|
|
"id": 50619,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2465:32:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50620,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2465:32:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50622
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50622,
|
|
"mutability": "mutable",
|
|
"name": "u",
|
|
"nameLocation": "2515:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50672,
|
|
"src": "2507:9:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50621,
|
|
"name": "uint256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2507:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50623,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2507:9:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50625
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50625,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "2533:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50672,
|
|
"src": "2526:8:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50624,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2526:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50626,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2526:8:65"
|
|
},
|
|
{
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50629,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50627,
|
|
"name": "t",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50611,
|
|
"src": "2548:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50628,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2553:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2548:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50639,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50637,
|
|
"name": "t",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50611,
|
|
"src": "2613:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "32",
|
|
"id": 50638,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2618:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2_by_1",
|
|
"typeString": "int_const 2"
|
|
},
|
|
"value": "2"
|
|
},
|
|
"src": "2613:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50649,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50647,
|
|
"name": "t",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50611,
|
|
"src": "2679:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "33",
|
|
"id": 50648,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2684:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_3_by_1",
|
|
"typeString": "int_const 3"
|
|
},
|
|
"value": "3"
|
|
},
|
|
"src": "2679:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50659,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50657,
|
|
"name": "t",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50611,
|
|
"src": "2744:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"hexValue": "34",
|
|
"id": 50658,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2749:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"src": "2744:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"falseBody": {
|
|
"id": 50667,
|
|
"nodeType": "Block",
|
|
"src": "2806:42:65",
|
|
"statements": []
|
|
},
|
|
"id": 50668,
|
|
"nodeType": "IfStatement",
|
|
"src": "2740:108:65",
|
|
"trueBody": {
|
|
"id": 50666,
|
|
"nodeType": "Block",
|
|
"src": "2752:48:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 50664,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50660,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50625,
|
|
"src": "2766:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50663,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50661,
|
|
"name": "imin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50609,
|
|
"src": "2770:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50662,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2775:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2770:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "2766:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50665,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2766:10:65"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"id": 50669,
|
|
"nodeType": "IfStatement",
|
|
"src": "2675:173:65",
|
|
"trueBody": {
|
|
"id": 50656,
|
|
"nodeType": "Block",
|
|
"src": "2687:47:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 50654,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50650,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50625,
|
|
"src": "2701:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50653,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50651,
|
|
"name": "imax",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50605,
|
|
"src": "2705:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50652,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2710:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2705:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "2701:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50655,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2701:10:65"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"id": 50670,
|
|
"nodeType": "IfStatement",
|
|
"src": "2609:239:65",
|
|
"trueBody": {
|
|
"id": 50646,
|
|
"nodeType": "Block",
|
|
"src": "2621:48:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 50644,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50640,
|
|
"name": "u",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50622,
|
|
"src": "2635:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50643,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50641,
|
|
"name": "umin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50593,
|
|
"src": "2639:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "-",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50642,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2644:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2639:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2635:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 50645,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2635:10:65"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"id": 50671,
|
|
"nodeType": "IfStatement",
|
|
"src": "2544:304:65",
|
|
"trueBody": {
|
|
"id": 50636,
|
|
"nodeType": "Block",
|
|
"src": "2556:47:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"id": 50634,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50630,
|
|
"name": "u",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50622,
|
|
"src": "2570:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50633,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50631,
|
|
"name": "umax",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50597,
|
|
"src": "2574:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "+",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50632,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2579:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2574:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "2570:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 50635,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2570:10:65"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "df96063b",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "sanityReverts",
|
|
"nameLocation": "2417:13:65",
|
|
"parameters": {
|
|
"id": 50612,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [
|
|
{
|
|
"constant": false,
|
|
"id": 50611,
|
|
"mutability": "mutable",
|
|
"name": "t",
|
|
"nameLocation": "2438:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50673,
|
|
"src": "2431:8:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50610,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2431:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "2430:10:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50613,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2455:0:65"
|
|
},
|
|
"scope": 50823,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 50721,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "2860:390:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50720,
|
|
"nodeType": "Block",
|
|
"src": "2891:359:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "466c6f61742e7465737453616e6974792829",
|
|
"id": 50679,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2914:20:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_c8443029829768cd1770dc2373588bc0152e6177e06d9f45b1a1468c40d676b0",
|
|
"typeString": "literal_string \"Float.testSanity()\""
|
|
},
|
|
"value": "Float.testSanity()"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_c8443029829768cd1770dc2373588bc0152e6177e06d9f45b1a1468c40d676b0",
|
|
"typeString": "literal_string \"Float.testSanity()\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50676,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "2901:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 50678,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "2910:3:65",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "2901:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 50680,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2901:34:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50681,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2901:34:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50683
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50683,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "2952:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50720,
|
|
"src": "2945:8:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50682,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "2945:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50684,
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "2945:8:65"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 50706,
|
|
"nodeType": "Block",
|
|
"src": "2984:112:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [],
|
|
"expression": {
|
|
"argumentTypes": [],
|
|
"expression": {
|
|
"id": 50695,
|
|
"name": "vm",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 2350,
|
|
"src": "2998:2:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_Vm_$13464",
|
|
"typeString": "contract Vm"
|
|
}
|
|
},
|
|
"id": 50697,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3001:12:65",
|
|
"memberName": "expectRevert",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 13126,
|
|
"src": "2998:15:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
|
"typeString": "function () external"
|
|
}
|
|
},
|
|
"id": 50698,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "2998:17:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50699,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2998:17:65"
|
|
},
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"id": 50703,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "3048:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50700,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -28,
|
|
"src": "3029:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_contract$_TestIEEE754_$50823",
|
|
"typeString": "contract TestIEEE754"
|
|
}
|
|
},
|
|
"id": 50702,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3034:13:65",
|
|
"memberName": "sanityReverts",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 50673,
|
|
"src": "3029:18:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_external_pure$_t_int256_$returns$__$",
|
|
"typeString": "function (int256) pure external"
|
|
}
|
|
},
|
|
"id": 50704,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3029:21:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50705,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3029:21:65"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50691,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50689,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "2973:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<=",
|
|
"rightExpression": {
|
|
"hexValue": "34",
|
|
"id": 50690,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2976:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_4_by_1",
|
|
"typeString": "int_const 4"
|
|
},
|
|
"value": "4"
|
|
},
|
|
"src": "2973:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 50707,
|
|
"initializationExpression": {
|
|
"expression": {
|
|
"id": 50687,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50685,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "2968:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"hexValue": "31",
|
|
"id": 50686,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "2970:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "2968:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50688,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2968:3:65"
|
|
},
|
|
"isSimpleCounterLoop": false,
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 50693,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "2979:3:65",
|
|
"subExpression": {
|
|
"id": 50692,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "2979:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50694,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "2979:3:65"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "2963:133:65"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 50712,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50708,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "3105:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50711,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50709,
|
|
"name": "imax",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50605,
|
|
"src": "3109:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50710,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3117:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3109:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "3105:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50713,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3105:13:65"
|
|
},
|
|
{
|
|
"expression": {
|
|
"id": 50718,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide": {
|
|
"id": 50714,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50683,
|
|
"src": "3179:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50717,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50715,
|
|
"name": "imin",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50609,
|
|
"src": "3183:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "31",
|
|
"id": 50716,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3191:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"src": "3183:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "3179:13:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"id": 50719,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3179:13:65"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "c21e06ec",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "testSanity",
|
|
"nameLocation": "2869:10:65",
|
|
"parameters": {
|
|
"id": 50674,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2879:2:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50675,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "2891:0:65"
|
|
},
|
|
"scope": 50823,
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
},
|
|
{
|
|
"id": 50728,
|
|
"nodeType": "StructDefinition",
|
|
"src": "3256:102:65",
|
|
"nodes": [],
|
|
"canonicalName": "TestIEEE754.Item",
|
|
"members": [
|
|
{
|
|
"constant": false,
|
|
"id": 50723,
|
|
"mutability": "mutable",
|
|
"name": "floatingPoint",
|
|
"nameLocation": "3285:13:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50728,
|
|
"src": "3278:20:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50722,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3278:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 50725,
|
|
"mutability": "mutable",
|
|
"name": "fixedBits",
|
|
"nameLocation": "3315:9:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50728,
|
|
"src": "3308:16:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
"typeName": {
|
|
"id": 50724,
|
|
"name": "uint32",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3308:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 50727,
|
|
"mutability": "mutable",
|
|
"name": "fixedPoint",
|
|
"nameLocation": "3341:10:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50728,
|
|
"src": "3334:17:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"typeName": {
|
|
"id": 50726,
|
|
"name": "int256",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3334:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"name": "Item",
|
|
"nameLocation": "3263:4:65",
|
|
"scope": 50823,
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"id": 50822,
|
|
"nodeType": "FunctionDefinition",
|
|
"src": "3364:761:65",
|
|
"nodes": [],
|
|
"body": {
|
|
"id": 50821,
|
|
"nodeType": "Block",
|
|
"src": "3405:720:65",
|
|
"nodes": [],
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"hexValue": "54657374494545453735342e74657374466c6f61743266697865642829",
|
|
"id": 50734,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "string",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3428:31:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_stringliteral_1f700677d7976407cf28fad97487e1fb3aa6fed30a542fb2a2c397aa2ed4983a",
|
|
"typeString": "literal_string \"TestIEEE754.testFloat2fixed()\""
|
|
},
|
|
"value": "TestIEEE754.testFloat2fixed()"
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_stringliteral_1f700677d7976407cf28fad97487e1fb3aa6fed30a542fb2a2c397aa2ed4983a",
|
|
"typeString": "literal_string \"TestIEEE754.testFloat2fixed()\""
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50731,
|
|
"name": "console2",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 29653,
|
|
"src": "3415:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_console2_$29653_$",
|
|
"typeString": "type(library console2)"
|
|
}
|
|
},
|
|
"id": 50733,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3424:3:65",
|
|
"memberName": "log",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 22167,
|
|
"src": "3415:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$__$",
|
|
"typeString": "function (string memory) pure"
|
|
}
|
|
},
|
|
"id": 50735,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3415:45:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50736,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3415:45:65"
|
|
},
|
|
{
|
|
"assignments": [
|
|
50742
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50742,
|
|
"mutability": "mutable",
|
|
"name": "items",
|
|
"nameLocation": "3486:5:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50821,
|
|
"src": "3471:20:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "memory",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item[6]"
|
|
},
|
|
"typeName": {
|
|
"baseType": {
|
|
"id": 50740,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode": {
|
|
"id": 50739,
|
|
"name": "Item",
|
|
"nameLocations": [
|
|
"3471:4:65"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 50728,
|
|
"src": "3471:4:65"
|
|
},
|
|
"referencedDeclaration": 50728,
|
|
"src": "3471:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_storage_ptr",
|
|
"typeString": "struct TestIEEE754.Item"
|
|
}
|
|
},
|
|
"id": 50741,
|
|
"length": {
|
|
"hexValue": "36",
|
|
"id": 50738,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3476:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_6_by_1",
|
|
"typeString": "int_const 6"
|
|
},
|
|
"value": "6"
|
|
},
|
|
"nodeType": "ArrayTypeName",
|
|
"src": "3471:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_storage_$6_storage_ptr",
|
|
"typeString": "struct TestIEEE754.Item[6]"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50788,
|
|
"initialValue": {
|
|
"components": [
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30783366383030303030",
|
|
"id": 50744,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3513:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
"value": "0x3f800000"
|
|
},
|
|
{
|
|
"hexValue": "30",
|
|
"id": 50745,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3525:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"id": 50748,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "31",
|
|
"id": 50746,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3528:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "30",
|
|
"id": 50747,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3533:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"src": "3528:6:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
}
|
|
],
|
|
"id": 50743,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3508:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50749,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3508:27:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30783366383030303030",
|
|
"id": 50751,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3566:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
"value": "0x3f800000"
|
|
},
|
|
{
|
|
"hexValue": "313238",
|
|
"id": 50752,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3578:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const 3402...(31 digits omitted)...1456"
|
|
},
|
|
"id": 50755,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "31",
|
|
"id": 50753,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3583:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "313238",
|
|
"id": 50754,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3588:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
"src": "3583:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const 3402...(31 digits omitted)...1456"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const 3402...(31 digits omitted)...1456"
|
|
}
|
|
],
|
|
"id": 50750,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3561:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50756,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3561:31:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30783366383030303030",
|
|
"id": 50758,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3619:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
"value": "0x3f800000"
|
|
},
|
|
{
|
|
"hexValue": "323534",
|
|
"id": 50759,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3631:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_254_by_1",
|
|
"typeString": "int_const 254"
|
|
},
|
|
"value": "254"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_28948022309329048855892746252171976963317496166410141009864396001978282409984_by_1",
|
|
"typeString": "int_const 2894...(69 digits omitted)...9984"
|
|
},
|
|
"id": 50762,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "31",
|
|
"id": 50760,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3636:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "323534",
|
|
"id": 50761,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3641:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_254_by_1",
|
|
"typeString": "int_const 254"
|
|
},
|
|
"value": "254"
|
|
},
|
|
"src": "3636:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_28948022309329048855892746252171976963317496166410141009864396001978282409984_by_1",
|
|
"typeString": "int_const 2894...(69 digits omitted)...9984"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1065353216_by_1",
|
|
"typeString": "int_const 1065353216"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_254_by_1",
|
|
"typeString": "int_const 254"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_28948022309329048855892746252171976963317496166410141009864396001978282409984_by_1",
|
|
"typeString": "int_const 2894...(69 digits omitted)...9984"
|
|
}
|
|
],
|
|
"id": 50757,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3614:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50763,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3614:31:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30786266383030303030",
|
|
"id": 50765,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3672:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_3212836864_by_1",
|
|
"typeString": "int_const 3212836864"
|
|
},
|
|
"value": "0xbf800000"
|
|
},
|
|
{
|
|
"hexValue": "313238",
|
|
"id": 50766,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3684:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_minus_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const -340...(32 digits omitted)...1456"
|
|
},
|
|
"id": 50770,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50768,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "-",
|
|
"prefix": true,
|
|
"src": "3689:2:65",
|
|
"subExpression": {
|
|
"hexValue": "31",
|
|
"id": 50767,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3690:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1_by_1",
|
|
"typeString": "int_const 1"
|
|
},
|
|
"value": "1"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_minus_1_by_1",
|
|
"typeString": "int_const -1"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "313238",
|
|
"id": 50769,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3695:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
"src": "3689:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_minus_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const -340...(32 digits omitted)...1456"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_3212836864_by_1",
|
|
"typeString": "int_const 3212836864"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_minus_340282366920938463463374607431768211456_by_1",
|
|
"typeString": "int_const -340...(32 digits omitted)...1456"
|
|
}
|
|
],
|
|
"id": 50764,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3667:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50771,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3667:32:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30783430303030303030",
|
|
"id": 50773,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3726:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_1073741824_by_1",
|
|
"typeString": "int_const 1073741824"
|
|
},
|
|
"value": "0x40000000"
|
|
},
|
|
{
|
|
"hexValue": "313238",
|
|
"id": 50774,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3738:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const 6805...(31 digits omitted)...2912"
|
|
},
|
|
"id": 50777,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"hexValue": "32",
|
|
"id": 50775,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3743:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2_by_1",
|
|
"typeString": "int_const 2"
|
|
},
|
|
"value": "2"
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "313238",
|
|
"id": 50776,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3748:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
"src": "3743:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const 6805...(31 digits omitted)...2912"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_1073741824_by_1",
|
|
"typeString": "int_const 1073741824"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const 6805...(31 digits omitted)...2912"
|
|
}
|
|
],
|
|
"id": 50772,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3721:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50778,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3721:31:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
{
|
|
"arguments": [
|
|
{
|
|
"hexValue": "30786330303030303030",
|
|
"id": 50780,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3779:10:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_3221225472_by_1",
|
|
"typeString": "int_const 3221225472"
|
|
},
|
|
"value": "0xc0000000"
|
|
},
|
|
{
|
|
"hexValue": "313238",
|
|
"id": 50781,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3791:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_rational_minus_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const -680...(32 digits omitted)...2912"
|
|
},
|
|
"id": 50785,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50783,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "-",
|
|
"prefix": true,
|
|
"src": "3796:2:65",
|
|
"subExpression": {
|
|
"hexValue": "32",
|
|
"id": 50782,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3797:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_2_by_1",
|
|
"typeString": "int_const 2"
|
|
},
|
|
"value": "2"
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_minus_2_by_1",
|
|
"typeString": "int_const -2"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<<",
|
|
"rightExpression": {
|
|
"hexValue": "313238",
|
|
"id": 50784,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3802:3:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
"value": "128"
|
|
},
|
|
"src": "3796:9:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_minus_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const -680...(32 digits omitted)...2912"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_rational_3221225472_by_1",
|
|
"typeString": "int_const 3221225472"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_128_by_1",
|
|
"typeString": "int_const 128"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_rational_minus_680564733841876926926749214863536422912_by_1",
|
|
"typeString": "int_const -680...(32 digits omitted)...2912"
|
|
}
|
|
],
|
|
"id": 50779,
|
|
"name": "Item",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50728,
|
|
"src": "3774:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_struct$_Item_$50728_storage_ptr_$",
|
|
"typeString": "type(struct TestIEEE754.Item storage pointer)"
|
|
}
|
|
},
|
|
"id": 50786,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "structConstructorCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3774:32:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
}
|
|
],
|
|
"id": 50787,
|
|
"isConstant": false,
|
|
"isInlineArray": true,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "TupleExpression",
|
|
"src": "3494:423:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory[6] memory"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3471:446:65"
|
|
},
|
|
{
|
|
"body": {
|
|
"id": 50819,
|
|
"nodeType": "Block",
|
|
"src": "3964:154:65",
|
|
"statements": [
|
|
{
|
|
"expression": {
|
|
"arguments": [
|
|
{
|
|
"commonType": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
},
|
|
"id": 50816,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 50801,
|
|
"name": "items",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50742,
|
|
"src": "3986:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory[6] memory"
|
|
}
|
|
},
|
|
"id": 50803,
|
|
"indexExpression": {
|
|
"id": 50802,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50790,
|
|
"src": "3992:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "3986:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
"id": 50804,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3995:10:65",
|
|
"memberName": "fixedPoint",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 50727,
|
|
"src": "3986:19:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "==",
|
|
"rightExpression": {
|
|
"arguments": [
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 50807,
|
|
"name": "items",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50742,
|
|
"src": "4046:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory[6] memory"
|
|
}
|
|
},
|
|
"id": 50809,
|
|
"indexExpression": {
|
|
"id": 50808,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50790,
|
|
"src": "4052:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4046:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
"id": 50810,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "4055:13:65",
|
|
"memberName": "floatingPoint",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 50723,
|
|
"src": "4046:22:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
},
|
|
{
|
|
"expression": {
|
|
"baseExpression": {
|
|
"id": 50811,
|
|
"name": "items",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50742,
|
|
"src": "4070:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory[6] memory"
|
|
}
|
|
},
|
|
"id": 50813,
|
|
"indexExpression": {
|
|
"id": 50812,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50790,
|
|
"src": "4076:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "4070:8:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_struct$_Item_$50728_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory"
|
|
}
|
|
},
|
|
"id": 50814,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "4079:9:65",
|
|
"memberName": "fixedBits",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 50725,
|
|
"src": "4070:18:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
},
|
|
{
|
|
"typeIdentifier": "t_uint32",
|
|
"typeString": "uint32"
|
|
}
|
|
],
|
|
"expression": {
|
|
"id": 50805,
|
|
"name": "IEEE754",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50578,
|
|
"src": "4009:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_type$_t_contract$_IEEE754_$50578_$",
|
|
"typeString": "type(library IEEE754)"
|
|
}
|
|
},
|
|
"id": 50806,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "4017:11:65",
|
|
"memberName": "float2fixed",
|
|
"nodeType": "MemberAccess",
|
|
"referencedDeclaration": 50577,
|
|
"src": "4009:19:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_internal_pure$_t_uint32_$_t_uint32_$returns$_t_int256_$",
|
|
"typeString": "function (uint32,uint32) pure returns (int256)"
|
|
}
|
|
},
|
|
"id": 50815,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "4009:97:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_int256",
|
|
"typeString": "int256"
|
|
}
|
|
},
|
|
"src": "3986:120:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
}
|
|
],
|
|
"expression": {
|
|
"argumentTypes": [
|
|
{
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
],
|
|
"id": 50800,
|
|
"name": "require",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [
|
|
-18,
|
|
-18
|
|
],
|
|
"referencedDeclaration": -18,
|
|
"src": "3978:7:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
"typeString": "function (bool) pure"
|
|
}
|
|
},
|
|
"id": 50817,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "functionCall",
|
|
"lValueRequested": false,
|
|
"nameLocations": [],
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "3978:129:65",
|
|
"tryCall": false,
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_tuple$__$",
|
|
"typeString": "tuple()"
|
|
}
|
|
},
|
|
"id": 50818,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3978:129:65"
|
|
}
|
|
]
|
|
},
|
|
"condition": {
|
|
"commonType": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"id": 50796,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftExpression": {
|
|
"id": 50793,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50790,
|
|
"src": "3943:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"nodeType": "BinaryOperation",
|
|
"operator": "<",
|
|
"rightExpression": {
|
|
"expression": {
|
|
"id": 50794,
|
|
"name": "items",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50742,
|
|
"src": "3945:5:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_array$_t_struct$_Item_$50728_memory_ptr_$6_memory_ptr",
|
|
"typeString": "struct TestIEEE754.Item memory[6] memory"
|
|
}
|
|
},
|
|
"id": 50795,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"memberLocation": "3951:6:65",
|
|
"memberName": "length",
|
|
"nodeType": "MemberAccess",
|
|
"src": "3945:12:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"src": "3943:14:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_bool",
|
|
"typeString": "bool"
|
|
}
|
|
},
|
|
"id": 50820,
|
|
"initializationExpression": {
|
|
"assignments": [
|
|
50790
|
|
],
|
|
"declarations": [
|
|
{
|
|
"constant": false,
|
|
"id": 50790,
|
|
"mutability": "mutable",
|
|
"name": "i",
|
|
"nameLocation": "3938:1:65",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 50820,
|
|
"src": "3933:6:65",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
},
|
|
"typeName": {
|
|
"id": 50789,
|
|
"name": "uint",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "3933:4:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 50792,
|
|
"initialValue": {
|
|
"hexValue": "30",
|
|
"id": 50791,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "3940:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "3933:8:65"
|
|
},
|
|
"isSimpleCounterLoop": true,
|
|
"loopExpression": {
|
|
"expression": {
|
|
"id": 50798,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "UnaryOperation",
|
|
"operator": "++",
|
|
"prefix": false,
|
|
"src": "3959:3:65",
|
|
"subExpression": {
|
|
"id": 50797,
|
|
"name": "i",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 50790,
|
|
"src": "3959:1:65",
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"typeDescriptions": {
|
|
"typeIdentifier": "t_uint256",
|
|
"typeString": "uint256"
|
|
}
|
|
},
|
|
"id": 50799,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "3959:3:65"
|
|
},
|
|
"nodeType": "ForStatement",
|
|
"src": "3928:190:65"
|
|
}
|
|
]
|
|
},
|
|
"functionSelector": "b1a3670e",
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "testFloat2fixed",
|
|
"nameLocation": "3373:15:65",
|
|
"parameters": {
|
|
"id": 50729,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3388:2:65"
|
|
},
|
|
"returnParameters": {
|
|
"id": 50730,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "3405:0:65"
|
|
},
|
|
"scope": 50823,
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "external"
|
|
}
|
|
],
|
|
"abstract": false,
|
|
"baseContracts": [
|
|
{
|
|
"baseName": {
|
|
"id": 50579,
|
|
"name": "Test",
|
|
"nameLocations": [
|
|
"1986:4:65"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"referencedDeclaration": 11937,
|
|
"src": "1986:4:65"
|
|
},
|
|
"id": 50580,
|
|
"nodeType": "InheritanceSpecifier",
|
|
"src": "1986:4:65"
|
|
}
|
|
],
|
|
"canonicalName": "TestIEEE754",
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"internalFunctionIDs": {
|
|
"21582": 1
|
|
},
|
|
"linearizedBaseContracts": [
|
|
50823,
|
|
11937,
|
|
2357,
|
|
2354,
|
|
11886,
|
|
7624,
|
|
7334,
|
|
6570,
|
|
4516,
|
|
3823,
|
|
2291
|
|
],
|
|
"name": "TestIEEE754",
|
|
"nameLocation": "1971:11:65",
|
|
"scope": 50824,
|
|
"usedErrors": [],
|
|
"usedEvents": [
|
|
5,
|
|
9,
|
|
13,
|
|
17,
|
|
21,
|
|
25,
|
|
29,
|
|
33,
|
|
39,
|
|
45,
|
|
53,
|
|
61,
|
|
67,
|
|
73,
|
|
79,
|
|
85,
|
|
2418,
|
|
2423,
|
|
2428,
|
|
2435,
|
|
2442,
|
|
2449
|
|
]
|
|
}
|
|
],
|
|
"license": "UNLICENSED"
|
|
},
|
|
"id": 65
|
|
} |