MCPcopy
hub / github.com/csev/py4e / d3_bisector

Function d3_bisector

code/gmane/d3.v3.js:171–192  ·  view source on GitHub ↗
(compare)

Source from the content-addressed store, hash-verified

169 return v ? Math.sqrt(v) : v;
170 };
171 function d3_bisector(compare) {
172 return {
173 left: function(a, x, lo, hi) {
174 if (arguments.length < 3) lo = 0;
175 if (arguments.length < 4) hi = a.length;
176 while (lo < hi) {
177 var mid = lo + hi >>> 1;
178 if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;
179 }
180 return lo;
181 },
182 right: function(a, x, lo, hi) {
183 if (arguments.length < 3) lo = 0;
184 if (arguments.length < 4) hi = a.length;
185 while (lo < hi) {
186 var mid = lo + hi >>> 1;
187 if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;
188 }
189 return lo;
190 }
191 };
192 }
193 var d3_bisect = d3_bisector(d3_ascending);
194 d3.bisectLeft = d3_bisect.left;
195 d3.bisect = d3.bisectRight = d3_bisect.right;

Callers 1

d3.v3.jsFile · 0.85

Calls 1

compareFunction · 0.85

Tested by

no test coverage detected