@@ -25,18 +25,20 @@ def merge_self_ranges(src_ranges, is_sorted=False):
2525 if len (src_ranges ) > 0 :
2626 if not is_sorted :
2727 src_ranges .sort (key = lambda x : x [0 ])
28- cur_indx = 0
29- merged_ranges .append ((src_ranges [cur_indx ][0 ], src_ranges [cur_indx ][1 ]))
30- for cur_indx in range (1 , len (src_ranges )):
31- if src_ranges [cur_indx ][1 ] > merged_ranges [- 1 ][1 ]:
32- if src_ranges [cur_indx ][0 ] <= merged_ranges [- 1 ][1 ]:
28+ cur_index = 0
29+ merged_ranges .append (
30+ (src_ranges [cur_index ][0 ], src_ranges [cur_index ][1 ])
31+ )
32+ for cur_index in range (1 , len (src_ranges )):
33+ if src_ranges [cur_index ][1 ] > merged_ranges [- 1 ][1 ]:
34+ if src_ranges [cur_index ][0 ] <= merged_ranges [- 1 ][1 ]:
3335 merged_ranges [- 1 ] = (
3436 merged_ranges [- 1 ][0 ],
35- src_ranges [cur_indx ][1 ],
37+ src_ranges [cur_index ][1 ],
3638 )
3739 else :
3840 merged_ranges .append (
39- (src_ranges [cur_indx ][0 ], src_ranges [cur_indx ][1 ])
41+ (src_ranges [cur_index ][0 ], src_ranges [cur_index ][1 ])
4042 )
4143 return merged_ranges
4244
@@ -55,58 +57,58 @@ def merge_ranges(range_list1, range_list2, is_sorted=False):
5557 elif len2 == 0 :
5658 return range_list1
5759 else :
58- indx1 = 0
59- indx2 = 0
60- range1 = range_list1 [indx1 ]
61- range2 = range_list2 [indx2 ]
60+ index1 = 0
61+ index2 = 0
62+ range1 = range_list1 [index1 ]
63+ range2 = range_list2 [index2 ]
6264 if range1 [0 ] < range2 [0 ]:
6365 merged_ranges .append (range1 )
64- indx1 += 1
66+ index1 += 1
6567 else :
6668 merged_ranges .append (range2 )
67- indx2 += 1
68- while indx1 < len1 and indx2 < len2 :
69- range1 = range_list1 [indx1 ]
70- range2 = range_list2 [indx2 ]
69+ index2 += 1
70+ while index1 < len1 and index2 < len2 :
71+ range1 = range_list1 [index1 ]
72+ range2 = range_list2 [index2 ]
7173 if range1 [0 ] < range2 [0 ]:
7274 if range1 [1 ] > merged_ranges [- 1 ][1 ]:
7375 if range1 [0 ] <= merged_ranges [- 1 ][1 ]:
7476 merged_ranges [- 1 ] = (merged_ranges [- 1 ][0 ], range1 [1 ])
7577 else :
7678 merged_ranges .append ((range1 [0 ], range1 [1 ]))
77- indx1 += 1
79+ index1 += 1
7880 else :
79- indx1 += 1
81+ index1 += 1
8082 else :
8183 if range2 [1 ] > merged_ranges [- 1 ][1 ]:
8284 if range2 [0 ] <= merged_ranges [- 1 ][1 ]:
8385 merged_ranges [- 1 ] = (merged_ranges [- 1 ][0 ], range2 [1 ])
8486 else :
8587 merged_ranges .append ((range2 [0 ], range2 [1 ]))
86- indx2 += 1
88+ index2 += 1
8789 else :
88- indx2 += 1
90+ index2 += 1
8991
90- while indx1 < len1 :
91- range1 = range_list1 [indx1 ]
92+ while index1 < len1 :
93+ range1 = range_list1 [index1 ]
9294 if range1 [1 ] > merged_ranges [- 1 ][1 ]:
9395 if range1 [0 ] <= merged_ranges [- 1 ][1 ]:
9496 merged_ranges [- 1 ] = (merged_ranges [- 1 ][0 ], range1 [1 ])
9597 else :
9698 merged_ranges .append ((range1 [0 ], range1 [1 ]))
97- indx1 += 1
99+ index1 += 1
98100 else :
99- indx1 += 1
100- while indx2 < len2 :
101- range2 = range_list2 [indx2 ]
101+ index1 += 1
102+ while index2 < len2 :
103+ range2 = range_list2 [index2 ]
102104 if range2 [1 ] > merged_ranges [- 1 ][1 ]:
103105 if range2 [0 ] <= merged_ranges [- 1 ][1 ]:
104106 merged_ranges [- 1 ] = (merged_ranges [- 1 ][0 ], range2 [1 ])
105107 else :
106108 merged_ranges .append ((range2 [0 ], range2 [1 ]))
107- indx2 += 1
109+ index2 += 1
108110 else :
109- indx2 += 1
111+ index2 += 1
110112 return merged_ranges
111113
112114
@@ -120,59 +122,59 @@ def intersection_ranges(range_list1, range_list2, is_sorted=False):
120122
121123 len1 = len (range_list1 )
122124 len2 = len (range_list2 )
123- indx1 = 0
124- indx2 = 0
125- range1 = range_list1 [indx1 ]
126- range2 = range_list2 [indx2 ]
127- while indx1 < len1 and indx2 < len2 :
125+ index1 = 0
126+ index2 = 0
127+ range1 = range_list1 [index1 ]
128+ range2 = range_list2 [index2 ]
129+ while index1 < len1 and index2 < len2 :
128130 if range2 [1 ] <= range1 [0 ]:
129- indx2 += 1
130- if indx2 == len2 :
131+ index2 += 1
132+ if index2 == len2 :
131133 break
132- range2 = range_list2 [indx2 ]
134+ range2 = range_list2 [index2 ]
133135
134136 elif range2 [0 ] <= range1 [0 ] and range2 [1 ] < range1 [1 ]:
135137 assert range2 [1 ] > range1 [0 ]
136138 result_range .append ((range1 [0 ], range2 [1 ]))
137139 range1 = (range2 [1 ], range1 [1 ])
138- indx2 += 1
139- if indx2 == len2 :
140+ index2 += 1
141+ if index2 == len2 :
140142 break
141- range2 = range_list2 [indx2 ]
143+ range2 = range_list2 [index2 ]
142144
143145 elif range2 [0 ] <= range1 [0 ]:
144146 assert range2 [1 ] >= range1 [1 ]
145147 result_range .append (range1 )
146148 range2 = (range1 [1 ], range2 [1 ])
147- indx1 += 1
148- if indx1 == len1 :
149+ index1 += 1
150+ if index1 == len1 :
149151 break
150- range1 = range_list1 [indx1 ]
152+ range1 = range_list1 [index1 ]
151153
152154 elif range2 [1 ] < range1 [1 ]:
153155 assert range2 [0 ] > range1 [0 ]
154156 result_range .append (range2 )
155157 range1 = (range2 [1 ], range1 [1 ])
156- indx2 += 1
157- if indx2 == len2 :
158+ index2 += 1
159+ if index2 == len2 :
158160 break
159- range2 = range_list2 [indx2 ]
161+ range2 = range_list2 [index2 ]
160162
161163 elif range2 [0 ] < range1 [1 ]:
162164 assert range2 [1 ] >= range1 [1 ]
163165 result_range .append ((range2 [0 ], range1 [1 ]))
164166 range2 = (range1 [1 ], range2 [1 ])
165- indx1 += 1
166- if indx1 == len1 :
167+ index1 += 1
168+ if index1 == len1 :
167169 break
168- range1 = range_list1 [indx1 ]
170+ range1 = range_list1 [index1 ]
169171
170172 else :
171173 assert range2 [0 ] >= range1 [1 ]
172- indx1 += 1
173- if indx1 == len1 :
174+ index1 += 1
175+ if index1 == len1 :
174176 break
175- range1 = range_list1 [indx1 ]
177+ range1 = range_list1 [index1 ]
176178 return result_range
177179
178180
@@ -188,41 +190,41 @@ def subtract_ranges(range_list1, range_list2, is_sorted=False):
188190
189191 len1 = len (range_list1 )
190192 len2 = len (range_list2 )
191- indx1 = 0
192- indx2 = 0
193- range1 = range_list1 [indx1 ]
194- range2 = range_list2 [indx2 ]
193+ index1 = 0
194+ index2 = 0
195+ range1 = range_list1 [index1 ]
196+ range2 = range_list2 [index2 ]
195197
196- while indx1 < len (range_list1 ):
197- if indx2 == len (range_list2 ):
198+ while index1 < len (range_list1 ):
199+ if index2 == len (range_list2 ):
198200 result_range .append (range1 )
199- indx1 += 1
200- if indx1 == len1 :
201+ index1 += 1
202+ if index1 == len1 :
201203 break
202- range1 = range_list1 [indx1 ]
204+ range1 = range_list1 [index1 ]
203205 elif range2 [1 ] <= range1 [0 ]:
204- indx2 += 1
205- if indx2 != len2 :
206- range2 = range_list2 [indx2 ]
206+ index2 += 1
207+ if index2 != len2 :
208+ range2 = range_list2 [index2 ]
207209 elif range2 [0 ] <= range1 [0 ] and range2 [1 ] < range1 [1 ]:
208210 range1 = (range2 [1 ], range1 [1 ])
209- indx2 += 1
210- if indx2 != len2 :
211- range2 = range_list2 [indx2 ]
211+ index2 += 1
212+ if index2 != len2 :
213+ range2 = range_list2 [index2 ]
212214 elif range2 [0 ] <= range1 [0 ]:
213215 assert range2 [1 ] >= range1 [1 ]
214216 range2 = (range1 [1 ], range2 [1 ])
215- indx1 += 1
216- if indx1 != len1 :
217- range1 = range_list1 [indx1 ]
217+ index1 += 1
218+ if index1 != len1 :
219+ range1 = range_list1 [index1 ]
218220 elif range2 [0 ] < range1 [1 ]:
219221 assert range2 [0 ] > range1 [0 ]
220222 result_range .append ((range1 [0 ], range2 [0 ]))
221223 range1 = (range2 [0 ], range1 [1 ])
222224 else :
223225 assert range2 [0 ] >= range1 [1 ]
224226 result_range .append (range1 )
225- indx1 += 1
226- if indx1 != len1 :
227- range1 = range_list1 [indx1 ]
227+ index1 += 1
228+ if index1 != len1 :
229+ range1 = range_list1 [index1 ]
228230 return result_range
0 commit comments