|
|
|
@ -161,6 +161,20 @@ class Tensor(Tensor_):
|
|
|
|
|
return bool(data[0])
|
|
|
|
|
raise ValueError("The truth value of an array with several elements is ambiguous.")
|
|
|
|
|
|
|
|
|
|
def __index__(self):
|
|
|
|
|
data = self.asnumpy()
|
|
|
|
|
if not (data.dtype == "int8"
|
|
|
|
|
or data.dtype == "int16"
|
|
|
|
|
or data.dtype == "int32"
|
|
|
|
|
or data.dtype == "int64"
|
|
|
|
|
or data.dtype == "bool"):
|
|
|
|
|
raise ValueError("Only integer tensors of a single element can be converted to an index.")
|
|
|
|
|
if data.shape == ():
|
|
|
|
|
return int(data)
|
|
|
|
|
if data.shape == (1,):
|
|
|
|
|
return int(data[0])
|
|
|
|
|
raise ValueError("Only integer tensors of a single element can be converted to an index.")
|
|
|
|
|
|
|
|
|
|
def __pos__(self):
|
|
|
|
|
return self
|
|
|
|
|
|
|
|
|
|