diff --git a/source/Ox/js/Math.js b/source/Ox/js/Math.js index b69236fa..e266cff4 100644 --- a/source/Ox/js/Math.js +++ b/source/Ox/js/Math.js @@ -21,23 +21,23 @@ Ox.deg = function(rad) { /*@ Ox.divideInt Divides a number by another and returns an array of integers - Ox.divideInt(num, by) returns a sorted array of "as equal as - possible" integers that has a sum of num and a length of - by. + Ox.divideInt(num, by) returns a sorted array of integers that + has a sum of num, a length of by, a minimum of + Math.floor(num / by) and a maximum of + Math.ceil(num / by). > Ox.divideInt(100, 3) [33, 33, 34] > Ox.divideInt(100, 6) [16, 16, 17, 17, 17, 17] @*/ +// fixme: is splitInt a better name? Ox.divideInt = function(num, by) { - var arr = [], - div = parseInt(num / by), + var div = parseInt(num / by), mod = num % by; - Ox.loop(by, function(i) { - arr[i] = div + (i > by - 1 - mod); + return Ox.range(by).map(function(i) { + return div + (i > by - 1 - mod); }); - return arr; -} +}; /*@ Ox.limit Limits a number by a given mininum and maximum