def fn_int16(self, value):
        """
        Return the value cast to an 16-bit signed integer (numpy array) or a Python int (single value)

        :param value: The number or array
        :return: The number or array as int/int8
        """

        if is_ndarray(value) or isinstance(value, (list, tuple)):
            return self._to_ndarray(value).astype(numpy.int16)
        else:
            return int(value)