Files
fhevm-solidity/codegen/operatorsPrices.json
Joseph-André Turk 45e860d577 feat: updated TFHEExecutor to support new types
chore: eq-neq  bool support and bitwise scalar support

chore: overloads for fheEq and fheNe

fix: reverts onchain when rhs is 0 in fheDiv-fheRem

feat: added support for scalar and,or,xor

chore: cleanup codegen

feat: adds euint128 and euint256 types

chore: removes ebool fheRandBounded and adds manual tests

feat: adds new types for fheRand

feat: adds trivialEncrypt for ebytesXXX

feat: adds fheEq fheNe ifThenElse for new types

chore: rename asyncDecrypt() to initGateway()
2024-10-18 02:33:10 +02:00

219 lines
6.7 KiB
JSON

{
"fheAdd": {
"binary": true,
"scalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 },
"nonScalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 }
},
"fheSub": {
"binary": true,
"scalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 },
"nonScalar": { "1": 65000, "2": 94000, "3": 133000, "4": 162000, "5": 188000, "6": 218000, "8": 253000 }
},
"fheMul": {
"binary": true,
"scalar": { "1": 88000, "2": 159000, "3": 208000, "4": 264000, "5": 356000, "6": 480000, "8": 647000 },
"nonScalar": { "1": 150000, "2": 197000, "3": 262000, "4": 359000, "5": 641000, "6": 1145000, "8": 2045000 }
},
"fheDiv": {
"binary": true,
"scalar": { "1": 139000, "2": 238000, "3": 314000, "4": 398000, "5": 584000, "6": 857000, "8": 1258000 }
},
"fheRem": {
"binary": true,
"scalar": { "1": 286000, "2": 460000, "3": 622000, "4": 805000, "5": 1095000, "6": 1499000, "8": 2052000 }
},
"fheBitAnd": {
"binary": true,
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
},
"fheBitOr": {
"binary": true,
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
},
"fheBitXor": {
"binary": true,
"scalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "0": 26000, "1": 32000, "2": 34000, "3": 34000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 }
},
"fheShl": {
"binary": true,
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
},
"fheShr": {
"binary": true,
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
},
"fheRotl": {
"binary": true,
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
},
"fheRotr": {
"binary": true,
"scalar": { "1": 35000, "2": 35000, "3": 35000, "4": 35000, "5": 38000, "6": 41000, "8": 44000 },
"nonScalar": { "1": 116000, "2": 133000, "3": 153000, "4": 183000, "5": 227000, "6": 282000, "8": 350000 }
},
"fheEq": {
"binary": true,
"scalar": {
"0": 49000,
"1": 51000,
"2": 53000,
"3": 54000,
"4": 82000,
"5": 86000,
"6": 88000,
"7": 90000,
"8": 100000,
"9": 150000,
"10": 200000,
"11": 300000
},
"nonScalar": {
"0": 49000,
"1": 51000,
"2": 53000,
"3": 54000,
"4": 82000,
"5": 86000,
"6": 88000,
"7": 90000,
"8": 100000,
"9": 150000,
"10": 200000,
"11": 300000
}
},
"fheNe": {
"binary": true,
"scalar": {
"0": 49000,
"1": 51000,
"2": 53000,
"3": 54000,
"4": 82000,
"5": 86000,
"6": 88000,
"7": 90000,
"8": 100000,
"9": 150000,
"10": 200000,
"11": 300000
},
"nonScalar": {
"0": 49000,
"1": 51000,
"2": 53000,
"3": 54000,
"4": 82000,
"5": 86000,
"6": 88000,
"7": 90000,
"8": 100000,
"9": 150000,
"10": 200000,
"11": 300000
}
},
"fheGe": {
"binary": true,
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
},
"fheGt": {
"binary": true,
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
},
"fheLe": {
"binary": true,
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
},
"fheLt": {
"binary": true,
"scalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 },
"nonScalar": { "1": 70000, "2": 82000, "3": 105000, "4": 128000, "5": 156000, "6": 190000, "8": 231000 }
},
"fheMin": {
"binary": true,
"scalar": { "1": 121000, "2": 128000, "3": 150000, "4": 164000, "5": 192000, "6": 225000, "8": 264000 },
"nonScalar": { "1": 121000, "2": 128000, "3": 153000, "4": 183000, "5": 210000, "6": 241000, "8": 277000 }
},
"fheMax": {
"binary": true,
"scalar": { "1": 121000, "2": 128000, "3": 150000, "4": 164000, "5": 192000, "6": 225000, "8": 264000 },
"nonScalar": { "1": 121000, "2": 128000, "3": 153000, "4": 183000, "5": 210000, "6": 241000, "8": 277000 }
},
"fheNeg": {
"binary": false,
"types": { "1": 60000, "2": 95000, "3": 131000, "4": 160000, "5": 199000, "6": 248000, "8": 309000 }
},
"fheNot": {
"binary": false,
"types": { "0": 30000, "1": 33000, "2": 34000, "3": 35000, "4": 36000, "5": 37000, "6": 38000, "8": 39000 }
},
"cast": {
"binary": false,
"types": { "0": 200, "1": 200, "2": 200, "3": 200, "4": 200, "5": 200, "6": 200, "8": 200 }
},
"trivialEncrypt": {
"binary": false,
"types": {
"0": 100,
"1": 100,
"2": 100,
"3": 200,
"4": 300,
"5": 600,
"6": 650,
"7": 700,
"8": 800,
"9": 1600,
"10": 3200,
"11": 6400
}
},
"ifThenElse": {
"binary": false,
"types": {
"0": 43000,
"1": 45000,
"2": 47000,
"3": 47000,
"4": 50000,
"5": 53000,
"6": 70000,
"7": 80000,
"8": 90000,
"9": 150000,
"10": 200000,
"11": 300000
}
},
"fheRand": {
"binary": false,
"types": {
"0": 100000,
"1": 100000,
"2": 100000,
"3": 100000,
"4": 100000,
"5": 100000,
"6": 100000,
"8": 100000,
"9": 200000,
"10": 300000,
"11": 400000
}
},
"fheRandBounded": {
"binary": false,
"types": { "1": 100000, "2": 100000, "3": 100000, "4": 100000, "5": 100000, "6": 100000, "8": 100000 }
}
}