]> Cypherpunks repositories - gostls13.git/commitdiff
Revert "image: fix the overlap check in Rectangle.Intersect."
authorRuss Cox <rsc@golang.org>
Tue, 7 Feb 2017 15:21:44 +0000 (15:21 +0000)
committerRuss Cox <rsc@golang.org>
Tue, 7 Feb 2017 15:21:56 +0000 (15:21 +0000)
This reverts commit a855da29dbd7a80c4d87a421c1f88a8603c020fa.

Change-Id: I23c0351b0708877e0b3d1b44a2bc2799cee52cd1
Reviewed-on: https://go-review.googlesource.com/36426
Reviewed-by: Russ Cox <rsc@golang.org>
src/image/geom.go
src/image/geom_test.go

index ed7dde2c84d05cdd00f85fb99d01547aa73af258..e1cd4dc1e3e0980cf7ca152ac13caba83095399a 100644 (file)
@@ -161,11 +161,7 @@ func (r Rectangle) Intersect(s Rectangle) Rectangle {
        if r.Max.Y > s.Max.Y {
                r.Max.Y = s.Max.Y
        }
-       // Letting r0 and s0 be the values of r and s at the time that the method
-       // is called, this next line is equivalent to:
-       //
-       // if max(r0.Min.X, s0.Min.X) >= min(r0.Max.X, s0.Max.X) || likewiseForY { etc }
-       if r.Empty() {
+       if r.Min.X > r.Max.X || r.Min.Y > r.Max.Y {
                return ZR
        }
        return r
index 9fede027218c31e54a478cd6a40bd4e34fac577b..6e9c6a13c2cac87b4fdb86597777f163e2a7c1dc 100644 (file)
@@ -28,7 +28,6 @@ func TestRectangle(t *testing.T) {
 
        rects := []Rectangle{
                Rect(0, 0, 10, 10),
-               Rect(10, 0, 20, 10),
                Rect(1, 2, 3, 4),
                Rect(4, 6, 10, 10),
                Rect(2, 3, 12, 5),
@@ -63,9 +62,9 @@ func TestRectangle(t *testing.T) {
                        if err := in(a, s); err != nil {
                                t.Errorf("Intersect: r=%s, s=%s, a=%s, a not in s: %v", r, s, a, err)
                        }
-                       if isZero, overlaps := a == (Rectangle{}), r.Overlaps(s); isZero == overlaps {
-                               t.Errorf("Intersect: r=%s, s=%s, a=%s: isZero=%t same as overlaps=%t",
-                                       r, s, a, isZero, overlaps)
+                       if a.Empty() == r.Overlaps(s) {
+                               t.Errorf("Intersect: r=%s, s=%s, a=%s: empty=%t same as overlaps=%t",
+                                       r, s, a, a.Empty(), r.Overlaps(s))
                        }
                        largerThanA := [4]Rectangle{a, a, a, a}
                        largerThanA[0].Min.X--