diff --git a/trunk/ripnews/set/intspan.rb b/trunk/ripnews/set/intspan.rb index 155ecf5..387c2a0 100644 --- a/trunk/ripnews/set/intspan.rb +++ b/trunk/ripnews/set/intspan.rb @@ -309,8 +309,8 @@ def union(set_spec) end end - iA < eA.length and (! inB) and eS.push(eA[iA..eA.length]) - iB < eB.length and (! inA) and eS.push(eB[iB..eB.length]) + iA < eA.length and (! inB) and eS += eA[iA..eA.length] + iB < eB.length and (! inA) and eS += eB[iB..eB.length] s.set_pos_inf(@set["posInf"] || b.pos_inf) s.set_edges(eS) @@ -355,8 +355,8 @@ def intersect(set_spec) end end - iA < eA.length and inB and eS.push(eA[iA..eA.length]) - iB < eB.length and inA and eS.push(eB[iB..eB.length]) + iA < eA.length and inB and eS += eA[iA..eA.length] + iB < eB.length and inA and eS += eB[iB..eB.length] s.set_neg_inf(@set["posInf"] && b.pos_inf) s.set_edges(eS) @@ -400,8 +400,8 @@ def diff (set_spec) end end - iA < eA.length and not inB and eS.push(eA[iA..eA.length]) - iB < eB.length and inA and eS.push(eB[iB..eB.length]) + iA < eA.length and not inB and eS += eA[iA..eA.length] + iB < eB.length and inA and eS += eB[iB..eB.length] s.set_edges(eS) @@ -438,8 +438,8 @@ def xor(set_spec) end end - iA < eA.length and eS.push(eA[iA..eA.length]) - iB < eB.length and eS.push(eB[iB..eB.length]) + iA < eA.length and eS += eA[iA..eA.length] + iB < eB.length and eS += eB[iB..eB.length] s.set_pos_inf(@set["posInf"] ^ b.pos_inf) s.set_edges(eS) @@ -637,7 +637,7 @@ def insert(n) upper = edge[i...edge.length] edge = lower edge.push(n-1, n) - edge.push(upper) + edge += upper elsif (not lGap and rGap) edge[i-1] += 1 elsif ( lGap and not rGap)