Check a value falls within a bound.

        Parameters
        ----------
        value : scalar or ndarray
            value to test

        Returns
        -------
        bool:
            If all values fall within bounds

        Example
        -------
        >>> bnd = Bound(1, 2)
        >>> bnd.check(1.5)
        True
        >>> bnd.check(3)
        False
        >>> bnd.check(np.ones(10))
        True
        >>> bnd.check(np.array([1, 3, 1.5]))
        False

def check(self, value):
        """
        Check a value falls within a bound.

        Parameters
        ----------
        value : scalar or ndarray
            value to test

        Returns
        -------
        bool:
            If all values fall within bounds

        Example
        -------
        >>> bnd = Bound(1, 2)
        >>> bnd.check(1.5)
        True
        >>> bnd.check(3)
        False
        >>> bnd.check(np.ones(10))
        True
        >>> bnd.check(np.array([1, 3, 1.5]))
        False
        """
        if self.lower:
            if np.any(value < self.lower):
                return False

        if self.upper:
            if np.any(value > self.upper):
                return False

        return True