Skip to content

Commit 50a2681

Browse files
committed
optimize fns a bit - pass 1
1 parent 077b34f commit 50a2681

File tree

1 file changed

+14
-27
lines changed

1 file changed

+14
-27
lines changed

src/plots/cartesian/set_convert.js

+14-27
Original file line numberDiff line numberDiff line change
@@ -192,33 +192,28 @@ module.exports = function setConvert(ax, fullLayout) {
192192
};
193193

194194
if(ax.rangebreaks) {
195+
var isY = axLetter === 'y';
196+
195197
l2p = function(v) {
196198
if(!isNumeric(v)) return BADNUM;
197199
var len = ax._rangebreaks.length;
198200
if(!len) return _l2p(v, ax._m, ax._b);
199201

200-
var isY = axLetter === 'y';
201-
var pos = v;
202-
203202
var flip = isY;
204203
if(ax.range[0] > ax.range[1]) flip = !flip;
205204
var signAx = flip ? -1 : 1;
205+
var pos = signAx * v;
206206

207-
var first = 0;
208-
var last = len - 1;
209-
var q = first;
210-
for(var i = first; i <= last; i += 1) {
211-
var nextI = i + 1;
212-
var brk = ax._rangebreaks[i];
213-
214-
var min = brk.min;
215-
var max = brk.max;
207+
var q = 0;
208+
for(var i = 0; i < len; i++) {
209+
var min = signAx * ax._rangebreaks[i].min;
210+
var max = signAx * ax._rangebreaks[i].max;
216211

217-
if(signAx * pos < signAx * min) break;
218-
if(signAx * pos > signAx * max) q = nextI;
212+
if(pos < min) break;
213+
if(pos > max) q = i + 1;
219214
else {
220215
// when falls into break, pick 'closest' offset
221-
q = signAx * pos > signAx * (min + max) / 2 ? nextI : i;
216+
q = pos < (min + max) / 2 ? i : i + 1;
222217
break;
223218
}
224219
}
@@ -232,18 +227,10 @@ module.exports = function setConvert(ax, fullLayout) {
232227
var len = ax._rangebreaks.length;
233228
if(!len) return _p2l(px, ax._m, ax._b);
234229

235-
var isY = axLetter === 'y';
236-
var pos = px;
237-
238-
var first = 0;
239-
var last = len - 1;
240-
var q = first;
241-
for(var i = first; i <= last; i += 1) {
242-
var nextI = i + 1;
243-
var brk = ax._rangebreaks[i];
244-
245-
if(pos < brk.pmin) break;
246-
if(pos > brk.pmax) q = nextI;
230+
var q = 0;
231+
for(var i = 0; i < len; i++) {
232+
if(px < ax._rangebreaks[i].pmin) break;
233+
if(px > ax._rangebreaks[i].pmax) q = i + 1;
247234
}
248235
var b2 = ax._B[q];
249236
return _p2l(px, (isY ? -1 : 1) * ax._m2, b2);

0 commit comments

Comments
 (0)