Suppose I have a 2D tensor. I want to get the index of the first negative element of the tensor if there are any negative elements, else get the index of the smallest element. Basically, I want to implement the following for loop over each row of a 2D tensor efficiently in pytorch. Is there a way to do this with pytorch operations in a single iteration over each row?

```
x = 10.0 # all numbers are guaranteed less than 10
for i in range(len(row)):
if row[i] < 0:
x = i
break
if row[i] < x:
x = i
```