1 function (keys, values, rereduce)
6 for(var i=0; i<l; i++) {
7 for(var j=i+1; j<l; j++) {
23 flattened.push(arr[n][x]);
29 function sortNumerical(a, b)
45 function mergeBorders(borders, maxBorders)
50 lastBorder = borders[borders.length-1];
51 minDist = lastBorder / maxBorders;
60 else if (border == lastBorder)
63 else if ((border - last) < minDist)
68 newBorders.push(border);
81 all_borders.push(values[n].borders);
89 var borders = flatten(all_borders);
90 borders = unique(borders);
91 borders.sort(sortNumerical);
92 borders = mergeBorders(borders, 50);
96 for(var n=0; n<borders.length-1; n++)
109 length = values[n].borders.length-1;
114 length = values[n].length;
119 for(var i=0; i<length; i+=increment)
126 from = values[n].borders[i];
127 until = values[n].borders[i+1];
132 until = values[n][i+1];
135 while(borders[j] < from)
140 while(borders[j] < until)
144 heatmap[j++] += values[n].heatmap[i];
154 return {heatmap: heatmap, borders: borders};