{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.modulo/1.1.1/input.json",
  "title": "Euclidean remainder / modular inverse — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "remainder",
        "inverse"
      ],
      "description": "remainder (default) or inverse. Discovery /calc/math/modular-inverse locks inverse."
    },
    "a": {
      "type": "integer",
      "description": "Dividend / residue"
    },
    "modulus": {
      "type": "integer",
      "description": "Non-zero modulus. REST alias: m. Share URL uses modulus, not m."
    }
  },
  "required": [
    "a",
    "modulus"
  ],
  "description": "Integer remainder a = q·m + r with 0 ≤ r < |m|, plus modular inverse via extended Euclidean. Not JavaScript truncated %. Not GCF. (calculation_version 1.1.1)"
}
