@@ -129,6 +129,7 @@ proc diagonal*[T](a: Tensor[T], k = 0, anti = false): Tensor[T] {.noInit.} =
129129 # # - anti: If true, get the k-th "anti-diagonal" instead of the k-th regular diagonal.
130130 # # Result:
131131 # # - A copy of the diagonal elements as a rank-1 tensor
132+ bind `&`
132133 assert a.rank == 2 , " diagonal() only works on matrices"
133134 assert k < a.shape[0 ], & " Diagonal index ({ k= } ) exceeds the output matrix height ({ a.shape[0 ]} ) "
134135 assert k < a.shape[1 ], & " Diagonal index ({ k= } ) exceeds the output matrix width ({ a.shape[1 ]} ) "
@@ -167,6 +168,7 @@ proc set_diagonal*[T](a: var Tensor[T], d: Tensor[T], k = 0, anti = false) =
167168 # # - k: The index k of the diagonal that will be changed. The default is 0 (i.e. the main diagonal).
168169 # # Use k>0 for diagonals above the main diagonal, and k<0 for diagonals below the main diagonal.
169170 # # - anti: If true, set the k-th "anti-diagonal" instead of the k-th regular diagonal.
171+ bind `&`
170172 assert a.rank == 2 , " set_diagonal() only works on matrices"
171173 assert d.rank == 1 , " The diagonal passed to set_diagonal() must be a rank-1 tensor"
172174 assert k < a.shape[0 ], & " Diagonal index ({ k= } ) exceeds input matrix height ({ a.shape[0 ]} ) "
@@ -259,6 +261,7 @@ proc tri*[T](shape: Metadata, k: static int = 0, upper: static bool = false): Te
259261 # # diagonal. The default is false.
260262 # # Result:
261263 # # - The constructed, rank-2 triangular tensor.
264+ bind `&`
262265 assert shape.len == 2 , & " tri() requires a rank-2 shape as it's input but a shape of rank { shape.len} was passed "
263266 assert k < shape[0 ], & " tri() received a diagonal index ({ k= } ) which exceeds the output matrix height ({ shape[0 ]} ) "
264267 assert k < shape[1 ], & " tri() received a diagonal index ({ k= } ) which exceeds the output matrix width ({ shape[1 ]} ) "
0 commit comments