from __future__ import annotations

from typing import Union

import ulab

def dot(
    m1: ulab.numpy.ndarray, m2: ulab.numpy.ndarray
) -> Union[ulab.numpy.ndarray, float]:
    """
    :param ~ulab.numpy.ndarray m1: a matrix, or a vector
    :param ~ulab.numpy.ndarray m2: a matrix, or a vector

    Computes the product of two matrices, or two vectors. In the letter case, the inner product is returned."""
    ...
