| @@ 182-190 (lines=9) @@ | ||
| 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); |
|
| @@ 173-181 (lines=9) @@ | ||
| 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; |
|