{
  "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."
  ]
}
