{
  "source": {
    "file": "test/resource/component/spatialize/vector/vector.template.rs",
    "cases": "test/resource/component/spatialize/vector/cases.json"
  },
  "functions": [
    {
      "function": "add",
      "tags": [
        "basic",
        "zero"
      ],
      "cases": [
        {
          "parameters": {
            "b": [
              4.0,
              5.0,
              6.0
            ],
            "a": [
              1.0,
              2.0,
              3.0
            ]
          },
          "returns": {
            "()": [
              5.0,
              7.0,
              9.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "b": [
              0.0,
              0.0,
              0.0
            ],
            "a": [
              1.0,
              2.0,
              3.0
            ]
          },
          "returns": {
            "()": [
              1.0,
              2.0,
              3.0
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "cross",
      "tags": [
        "unit_axes",
        "parallel"
      ],
      "cases": [
        {
          "parameters": {
            "b": [
              0.0,
              1.0,
              0.0
            ],
            "a": [
              1.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": [
              0.0,
              0.0,
              1.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "b": [
              2.0,
              0.0,
              0.0
            ],
            "a": [
              1.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": [
              0.0,
              0.0,
              0.0
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "dot",
      "tags": [
        "orthogonal",
        "parallel",
        "general"
      ],
      "cases": [
        {
          "parameters": {
            "a": [
              1.0,
              0.0,
              0.0
            ],
            "b": [
              0.0,
              1.0,
              0.0
            ]
          },
          "returns": {
            "()": 0.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              1.0,
              0.0,
              0.0
            ],
            "b": [
              1.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": 1.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              1.0,
              2.0,
              3.0
            ],
            "b": [
              4.0,
              5.0,
              6.0
            ]
          },
          "returns": {
            "()": 32.0
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "lerp",
      "tags": [
        "start",
        "end",
        "midpoint"
      ],
      "cases": [
        {
          "parameters": {
            "b": [
              10.0,
              10.0,
              10.0
            ],
            "a": [
              0.0,
              0.0,
              0.0
            ],
            "t": 0.0
          },
          "returns": {
            "()": [
              0.0,
              0.0,
              0.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "b": [
              10.0,
              10.0,
              10.0
            ],
            "a": [
              0.0,
              0.0,
              0.0
            ],
            "t": 1.0
          },
          "returns": {
            "()": [
              10.0,
              10.0,
              10.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "b": [
              10.0,
              10.0,
              10.0
            ],
            "a": [
              0.0,
              0.0,
              0.0
            ],
            "t": 0.5
          },
          "returns": {
            "()": [
              5.0,
              5.0,
              5.0
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "magnitude",
      "tags": [
        "unit",
        "zero",
        "known"
      ],
      "cases": [
        {
          "parameters": {
            "a": [
              1.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": 1.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              0.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": 0.0
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              3.0,
              4.0,
              0.0
            ]
          },
          "returns": {
            "()": 5.0
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "normalize",
      "tags": [
        "unit",
        "scaled",
        "zero"
      ],
      "cases": [
        {
          "parameters": {
            "a": [
              1.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": [
              1.0,
              0.0,
              0.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              0.0,
              0.0,
              5.0
            ]
          },
          "returns": {
            "()": [
              0.0,
              0.0,
              1.0
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "a": [
              0.0,
              0.0,
              0.0
            ]
          },
          "returns": {
            "()": [
              0.0,
              0.0,
              0.0
            ]
          },
          "unexpected": null
        }
      ]
    }
  ]
}