Example #1
0
  def test_dilate_shape(self):
    """0 if d == 0 else 1 + dilation * (d - 1))"""
    a, = shape_poly.parse_spec("a,", (2,))

    self.assertEqual((4, 7), core.dilate_shape((2, 3), (3, 3)))
    self.assertEqual((0, 7), core.dilate_shape((0, 3), (3, 3)))
    self.assertEqual((a, 7), core.dilate_shape((a, 3), (1, 3)))
    self.assertEqual((2 * a - 1, 7), core.dilate_shape((a, 3), (2, 3)))
  def test_dilate_shape(self):
    da, = shape_poly.parse_spec("a,", (2,))

    self.assertEqual((4, 7), core.dilate_shape((2, 3), (3, 3)))
    self.assertEqual((0, 7), core.dilate_shape((0, 3), (3, 3)))
    self.assertEqual((da, 7), core.dilate_shape((da, 3), (1, 3)))

    with self.assertRaisesRegex(core.InconclusiveDimensionOperation,
                                re.escape("Only dilation == 1 is supported for shape variables (var = a, dilation = 2)")):
      core.dilate_shape((da, 3), (2, 3))