<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_contiguous(self, other, tol=1/2.**18):
 """Check whether other is contiguous with self. Parameters other : `Series`, `numpy.ndarray` another series of the same type to test for contiguity tol : `float`, optional the numerical tolerance of the test Returns ------- 1 if `other` is contiguous with this series, i.e. would attach seamlessly onto the end -1 if `other` is anti-contiguous with this seires, i.e. would attach seamlessly onto the start 0 if `other` is completely dis-contiguous with thie series Notes ----- if a raw `numpy.ndarray` is passed as other, with no metadata, then the contiguity check will always pass """

        self.is_compatible(other)
        if isinstance(other, type(self)):
            if abs(float(self.xspan[1] - other.xspan[0])) < tol:
                return 1
            elif abs(float(other.xspan[1] - self.xspan[0])) < tol:
                return -1
            return 0
        elif type(other) in [list, tuple, numpy.ndarray]:
            return 1