, the shape will be ``(C,)``

        - If ``multidim_average`` is set to ``samplewise``:

          - If ``average='micro'/'macro'/'weighted'``, the shape will be ``(N,)``
          - If ``average=None/'none'``, the shape will be ``(N, C)``

    Example (preds is int tensor):
        >>> from torch import tensor
        >>> from torchmetrics.functional.classification import multilabel_precision
        >>> target = tensor([[0, 1, 0], [1, 0, 1]])
        >>> preds = tensor([[0, 0, 1], [1, 0, 1]])
        >>> multilabel_precision(preds, target, num_labels=3)
        tensor(0.5000)
        >>> multilabel_precision(preds, target, num_labels=3, average=None)
        tensor([1.0000, 0.0000, 0.5000])

    Example (preds is float tensor):
        >>> from torchmetrics.functional.classification import multilabel_precision
        >>> target = tensor([[0, 1, 0], [1, 0, 1]])
        >>> preds = tensor([[0.11, 0.22, 0.84], [0.73, 0.33, 0.92]])
        >>> multilabel_precision(preds, target, num_labels=3)
        tensor(0.5000)
        >>> multilabel_precision(preds, target, num_labels=3, average=None)
        tensor([1.0000, 0.0000, 0.5000])

    Example (multidim tensors):
        >>> from torchmetrics.functional.classification import multilabel_precision
        >>> target = tensor([[[0, 1], [1, 0], [0, 1]], [[1, 1], [0, 0], [1, 0]]])
        >>> preds = tensor([[[0.59, 0.91], [0.91, 0.99], [0.63, 0.04]],
        ...                 [[0.38, 0.04], [0.86, 0.780], [0.45, 0.37]]])
        >>> multilabel_precision(preds, target, num_labels=3, multidim_average='samplewise')
        tensor([0.3333, 0.0000])
        >>> multilabel_precision(preds, target, num_labels=3, multidim_average='samplewise', average=None)
        tensor([[0.5000, 0.5000, 0.0000],
                [0.0000, 0.0000, 0.0000]])

    r