| 832 | } |
| 833 | |
| 834 | std::string YulUtilFunctions::wrappingIntMulFunction(IntegerType const& _type) |
| 835 | { |
| 836 | std::string functionName = "wrapping_mul_" + _type.identifier(); |
| 837 | return m_functionCollector.createFunction(functionName, [&]() { |
| 838 | return |
| 839 | Whiskers(R"( |
| 840 | function <functionName>(x, y) -> product { |
| 841 | product := <cleanupFunction>(mul(x, y)) |
| 842 | } |
| 843 | )") |
| 844 | ("functionName", functionName) |
| 845 | ("cleanupFunction", cleanupFunction(_type)) |
| 846 | .render(); |
| 847 | }); |
| 848 | } |
| 849 | |
| 850 | std::string YulUtilFunctions::overflowCheckedIntDivFunction(IntegerType const& _type) |
| 851 | { |
no test coverage detected