{
"id": "fn-math-imul",
"dataComponent": "math",
"heading": {
"title": "imul",
"badges": ["Math", "JSMath", "PARTIAL"]
},
"synopsis": "Performs 32-bit integer multiplication of two arguments, returning a 32-bit int. Partial usage is supported for skipping the first or second argument.",
"codeBlocks": [
"extend(\"math\")\\n\\n# Direct usage\\nsput( math:imul(2, 3) )\\n# => 6 (strict 32-bit multiply)\\n\\n# Partial usage\\nmul2 = math:imul(2)\\nsput( mul2(1000000000) )\\n# => wraps in 32-bit if overflow occurs\\n\\n# or underscore placeholder\\nmulX = math:imul(_, 256)\\nsput( mulX(512) )\\n# => 131072 or possibly wrapped in 32-bit"
],
"notes": [
"Takes exactly two arguments, both coerced to 32-bit signed integers, returning the 32-bit product with overflow wrap behavior.",
"Partial usage: supply just one argument or use `_` to skip the first or second parameter."
]
}