in flowtorch/bijectors/bijective_tensor.py [0:0]
def has_ancestor(self, tensor: Tensor) -> bool:
if tensor is self:
return False # self is no parent of self
elif self.from_forward() and self._input is tensor:
return True
elif self.from_inverse() and self._output is tensor:
return True
elif self.from_forward() and isinstance(self._input, BijectiveTensor):
return self._input.has_ancestor(tensor)
elif self.from_inverse() and isinstance(self._output, BijectiveTensor):
return self._output.has_ancestor(tensor)
else:
return False