class_docstr: Tests SignalConv against scipy.signal.
class_docstr_tok: ["Tests","SignalConv","against","scipy.signal","."]
docstr: Determine if SignalConv* implements the given arguments.
code: def is_implemented(
      self,
      batch,
      input_support,
      channels,
      filters,
      kernel_support,
      corr,
      strides_down,
      strides_up,
      padding,
      extra_pad_end,
      channel_separable,
      data_format,
      activation,
      use_bias,
  ):
      """Determine if SignalConv* implements the given arguments."""
  
      # If convolution is requested, or kernels can be flipped, we can use the
      # transpose ops.
      can_use_transpose = not corr or all(
          s % 2 == 1 for s in kernel_support
      )
  
      # If upsampling is requested, or convolution and kernels can't be flipped,
      # we must use the transpose ops.
      must_use_transpose = any(s != 1 for s in strides_up) or (
          not corr and any(s % 2 != 1 for s in kernel_support)
      )
  
      # If we must use transpose ops but can't, we fail.
      if must_use_transpose and not can_use_transpose:
          return False
  
      # Channel-separable is only implemented for 1D and 2D.
      if channel_separable and len(input_support) > 2:
          return False
  
      # Channel-separable with upsampling is only implemented for homogeneous
      # strides.
      if channel_separable and any(
          s != strides_up[0] for s in strides_up
      ):
          return False
  
      # If we have to use the depthwise backprop op, we can't use filters > 1.
      if channel_separable and must_use_transpose and filters != 1:
          return False
  
      return True
  
imports: import os
  from absl.testing import parameterized
  import numpy
  import scipy.signal
  import tensorflow
  from tensorflow_compression.python.layers import initializers
  from tensorflow_compression.python.layers import parameters
  from tensorflow_compression.python.layers import signal_conv
label_desc: Use image node_id 5 for calling the ConvolutionsTest obj's underlying member method code with example usage: obj.is_implemented(batch, input_support, channels, filters, kernel_support, corr, strides_down, strides_up, padding, extra_pad_end, channel_separable, data_format, activation, use_bias) and returns: True, False, False, False, False