{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.exponent.input.json",
  "title": "Exponentiation — input",
  "type": "object",
  "properties": {
    "solve_for": {
      "type": "string",
      "enum": [
        "y",
        "power",
        "result",
        "a",
        "base",
        "n",
        "exp",
        "exponent",
        "POWER"
      ]
    },
    "solveFor": {
      "type": "string",
      "enum": [
        "y",
        "power",
        "result",
        "a",
        "base",
        "n",
        "exp",
        "exponent",
        "POWER"
      ]
    },
    "a": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "pattern": "^\\s*[eE]\\s*$"
        }
      ]
    },
    "base": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "pattern": "^\\s*[eE]\\s*$"
        }
      ]
    },
    "aInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "pattern": "^\\s*[eE]\\s*$"
        }
      ]
    },
    "baseInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "pattern": "^\\s*[eE]\\s*$"
        }
      ]
    },
    "n": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "exp": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "nInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "expInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "exponent": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "y": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "result": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "resultInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    },
    "power": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ]
    }
  },
  "additionalProperties": false,
  "anyOf": [
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "a"
              ]
            },
            {
              "required": [
                "base"
              ]
            },
            {
              "required": [
                "aInput"
              ]
            },
            {
              "required": [
                "baseInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "exp"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            },
            {
              "required": [
                "expInput"
              ]
            },
            {
              "required": [
                "exponent"
              ]
            }
          ]
        }
      ]
    },
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "exp"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            },
            {
              "required": [
                "expInput"
              ]
            },
            {
              "required": [
                "exponent"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "y"
              ]
            },
            {
              "required": [
                "result"
              ]
            },
            {
              "required": [
                "resultInput"
              ]
            },
            {
              "required": [
                "power"
              ]
            }
          ]
        }
      ]
    },
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "a"
              ]
            },
            {
              "required": [
                "base"
              ]
            },
            {
              "required": [
                "aInput"
              ]
            },
            {
              "required": [
                "baseInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "y"
              ]
            },
            {
              "required": [
                "result"
              ]
            },
            {
              "required": [
                "resultInput"
              ]
            },
            {
              "required": [
                "power"
              ]
            }
          ]
        }
      ]
    }
  ],
  "description": "Real power y = aⁿ with solve_for y (default scalar), a, or n. (calculation_version 1.0.5)"
}
