From f089921ad4f82f2a4070992aca02384e5318ce44 Mon Sep 17 00:00:00 2001 From: Marco Molteni Date: Tue, 14 May 2024 11:09:35 +0200 Subject: [PATCH] sets: address review comments Part of PCI-3790 --- sets/sets.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sets/sets.go b/sets/sets.go index c7713cb..82863c1 100644 --- a/sets/sets.go +++ b/sets/sets.go @@ -84,17 +84,14 @@ func (s *Set[T]) Difference(x *Set[T]) *Set[T] { func (s *Set[T]) Intersection(x *Set[T]) *Set[T] { result := New[T](0) // loop over the smaller set (thanks to https://github.com/deckarep/golang-set) - if s.Size() < x.Size() { - for item := range s.items { - if x.Contains(item) { - result.items[item] = struct{}{} - } - } - } else { - for item := range x.items { - if s.Contains(item) { - result.items[item] = struct{}{} - } + smaller := s + bigger := x + if smaller.Size() > bigger.Size() { + smaller, bigger = bigger, smaller + } + for item := range smaller.items { + if bigger.Contains(item) { + result.items[item] = struct{}{} } } return result