func (r Rectangle) Union(s Rectangle) Rectangle {
	if r.Empty() {
		return s
	}
	if s.Empty() {
		return r
	}
	if r.Min[0] > s.Min[0] {
		r.Min[0] = s.Min[0]
	}
	if r.Min[1] > s.Min[1] {
		r.Min[1] = s.Min[1]
	}
	if r.Max[0] < s.Max[0] {
		r.Max[0] = s.Max[0]
	}
	if r.Max[1] < s.Max[1] {
		r.Max[1] = s.Max[1]
	}
	return r
}
func (r Rectangle) Union(s Rectangle) Rectangle {
	if r.Empty() {
		return s
	}
	if s.Empty() {
		return r
	}
	if r.Min[0] > s.Min[0] {
		r.Min[0] = s.Min[0]
	}
	if r.Min[1] > s.Min[1] {
		r.Min[1] = s.Min[1]
	}
	if r.Max[0] < s.Max[0] {
		r.Max[0] = s.Max[0]
	}
	if r.Max[1] < s.Max[1] {
		r.Max[1] = s.Max[1]
	}
	return r
}
func ( r Rectangle ) Union ( s Rectangle ) Rectangle { if r . Empty ( ) { return s } if s . Empty ( ) { return r } if r . Min [ 0 ] > s . Min [ 0 ] { r . Min [ 0 ] = s . Min [ 0 ] } if r . Min [ 1 ] > s . Min [ 1 ] { r . Min [ 1 ] = s . Min [ 1 ] } if r . Max [ 0 ] < s . Max [ 0 ] { r . Max [ 0 ] = s . Max [ 0 ] } if r . Max [ 1 ] < s . Max [ 1 ] { r . Max [ 1 ] = s . Max [ 1 ] } return r }
// Union returns the smallest rectangle that contains both r and s.
Union returns the smallest rectangle that contains both r and s .