Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eae05f2

Browse files
committed
avoid extra step for small scales and refactor to apply String for casting
1 parent 7e0ae99 commit eae05f2

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/lib/increment.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@ module.exports = function incrementNumeric(x, delta) {
1717
// but 0.3 == (10 * 0.1 + 10 * 0.2) / 10
1818
// Attempt to use integer steps to increment
1919
var scale = 1 / Math.abs(delta);
20-
if(scale < 1) scale = 1;
21-
var newX = (
20+
var newX = (scale > 1) ? (
2221
scale * x +
2322
scale * delta
24-
) / scale;
23+
) / scale : x + delta;
2524

2625
// Note 2:
2726
// now we may also consider rounding to cover few more edge cases
2827
// e.g. 0.3 * 3 = 0.8999999999999999
29-
var lenDt = ('' + delta).length;
30-
var lenX0 = ('' + x).length;
31-
var lenX1 = ('' + newX).length;
28+
var lenDt = String(delta).length;
29+
var lenX0 = String(x).length;
30+
var lenX1 = String(newX).length;
3231

3332
if(lenX1 >= lenX0 + lenDt) { // likely a rounding error!
3433
newX = +parseFloat(newX).toPrecision(12);

0 commit comments

Comments
 (0)