@@ -35,8 +35,12 @@ Elm.Native.Array.make = function(elm) {
35 function unsafeGet(i, array) {
35 function unsafeGet(i, array) {
36 for (var x = array.height; x > 0; x--) {
36 for (var x = array.height; x > 0; x--) {
37 var slot = i >> (x * 5);
37 var slot = i >> (x * 5);
38− while (array.lengths[slot] <= i) slot++;
38+ while (array.lengths[slot] <= i) {
39− if (slot > 0) i -= array.lengths[slot - 1];
42+ i -= array.lengths[slot - 1];
40 array = array.table[slot];
44 array = array.table[slot];
42 return array.table[i];
46 return array.table[i];
@@ -558,7 +562,9 @@ Elm.Native.Array.make = function(elm) {
558 // find the exact slot via forward searching in "lengths". Returns the index.
562 // find the exact slot via forward searching in "lengths". Returns the index.
559 function getSlot(i, a) {
563 function getSlot(i, a) {
560 var slot = i >> (5 * a.height);
564 var slot = i >> (5 * a.height);
561− while (a.lengths[slot] <= i) slot++;
565+ while (a.lengths[slot] <= i) {
562 return slot;
568 return slot;