@@ -1,4 +1,4 @@
1−Elm.Native.Array = {};
1+Elm.Native.Array = {};
2Elm.Native.Array.make = function(elm) {
2Elm.Native.Array.make = function(elm) {
3 elm.Native = elm.Native || {};
3 elm.Native = elm.Native || {};
4 elm.Native.Array = elm.Native.Array || {};
4 elm.Native.Array = elm.Native.Array || {};
@@ -571,46 +571,6 @@ Elm.Native.Array.make = function(elm) {
571 , lengths:[length(a), length(a) + length(b)] };
571 , lengths:[length(a), length(a) + length(b)] };
574− function toJSArray(a) {
575− var jsArray = new Array(length(a));
576− toJSArray_(jsArray, 0, a);
580− function toJSArray_(jsArray, i, a) {
581− for (var t = 0; t < a.table.length; t++) {
582− if (a.height == 0) {
583− jsArray[i + t] = a.table[t];
585− var inc = t == 0 ? 0 : a.lengths[t - 1];
586− toJSArray_(jsArray, i + inc, a.table[t]);
591− function fromJSArray(jsArray) {
592− if (jsArray.length == 0) { return empty; }
593− var h = Math.floor(Math.log(jsArray.length) / Math.log(M));
594− return fromJSArray_(jsArray, h, 0, jsArray.length);
597− function fromJSArray_(jsArray, h, from, to) {
599− return { ctor:"_Array", height:0
600− , table:jsArray.slice(from, to) };
603− var step = Math.pow(M, h);
604− var table = new Array(Math.ceil((to - from) / step));
605− var lengths = new Array(table.length);
606− for (var i = 0; i < table.length; i++) {
607− table[i] = fromJSArray_( jsArray, h - 1, from + (i * step)
608− , Math.min(from + ((i + 1) * step), to));
609− lengths[i] = length(table[i]) + (i > 0 ? lengths[i-1] : 0);
611− return { ctor:"_Array", height:h, table:table, lengths:lengths };
614 Elm.Native.Array.values = {
574 Elm.Native.Array.values = {
615 empty:empty,
575 empty:empty,
616 fromList:fromList,
576 fromList:fromList,
@@ -625,10 +585,7 @@ Elm.Native.Array.make = function(elm) {
625 indexedMap:F2(indexedMap),
585 indexedMap:F2(indexedMap),
626 foldl:F3(foldl),
586 foldl:F3(foldl),
627 foldr:F3(foldr),
587 foldr:F3(foldr),
628− length:length,
588+ length:length
630− toJSArray:toJSArray,
631− fromJSArray:fromJSArray
634 return elm.Native.Array.values = Elm.Native.Array.values;
591 return elm.Native.Array.values = Elm.Native.Array.values;