{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.log/1.1.6/input.json",
  "title": "Logarithm — input",
  "type": "object",
  "properties": {
    "solve_for": {
      "type": "string",
      "enum": [
        "y",
        "x",
        "b",
        "log",
        "logarithm",
        "argument",
        "base"
      ]
    },
    "solveFor": {
      "type": "string",
      "enum": [
        "y",
        "x",
        "b",
        "log",
        "logarithm",
        "argument",
        "base"
      ]
    },
    "b": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        },
        {
          "const": "custom"
        }
      ]
    },
    "base": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        },
        {
          "const": "custom"
        }
      ]
    },
    "baseInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        },
        {
          "const": "custom"
        }
      ]
    },
    "baseId": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        },
        {
          "const": "custom"
        }
      ]
    },
    "x": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        }
      ]
    },
    "xInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        }
      ]
    },
    "y": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        }
      ]
    },
    "yInput": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*(?:[eE]|[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?)\\s*$"
        }
      ]
    }
  },
  "anyOf": [
    {
      "required": [
        "x"
      ]
    },
    {
      "required": [
        "xInput"
      ]
    },
    {
      "required": [
        "y"
      ]
    },
    {
      "required": [
        "yInput"
      ]
    }
  ],
  "additionalProperties": false,
  "description": "Common, natural, and arbitrary-base real logarithms; solve for y, x, or b with change-of-base. (calculation_version 1.1.6)"
}
