def has_ancestor()

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