message: made fftshift and ifftshit accept tensors with shape not specified in more cases
diff: @@ -358,11 +358,11 @@ def fftshift(x, axes=None, name=None):
  x = _ops.convert_to_tensor(x)
  if axes is None:
  axes = tuple(range(x.shape.ndims))
  - shift = [int(dim // 2) for dim in x.shape]
  + shift = [dim // 2 for dim in _array_ops.shape(x)]
  elif isinstance(axes, int):
  - shift = int(x.shape[axes] // 2)
  + shift = _array_ops.shape(x)[axes] // 2
  else:
  - shift = [int((x.shape[ax]) // 2) for ax in axes]
  + shift = [(_array_ops.shape(x)[ax]) // 2 for ax in axes]
  return manip_ops.roll(x, shift, axes, name)
  @@ -399,11 +399,11 @@ def ifftshift(x, axes=None, name=None):
  x = _ops.convert_to_tensor(x)
  if axes is None:
  axes = tuple(range(x.shape.ndims))
  - shift = [-int(dim // 2) for dim in x.shape]
  + shift = [-_math_ops.cast(dim // 2, _dtypes.int32) for dim in _array_ops.shape(x)]
  elif isinstance(axes, int):
  - shift = -int(x.shape[axes] // 2)
  + shift = -_math_ops.cast(_array_ops.shape(x)[axes] // 2, _dtypes.int32)
  else:
  - shift = [-int(x.shape[ax] // 2) for ax in axes]
  + shift = [-_math_ops.cast(_array_ops.shape(x)[ax] // 2, _dtypes.int32) for ax in axes]
  return manip_ops.roll(x, shift, axes, name)
  