def _np_conv_ok(volume, kernel, mode):
    """
    See if numpy supports convolution of `volume` and `kernel` (i.e. both are
    1D ndarrays and of the appropriate shape).  Numpy's 'same' mode uses the
    size of the larger input, while Scipy's uses the size of the first input.
    """
    np_conv_ok = volume.ndim == kernel.ndim == 1
    return np_conv_ok and (volume.size >= kernel.size or mode != 'same')
