INNER CODE UNIT · JavaScript
f
lh3/psmc · utils/dec2img.js:65
f = new File(arguments[getopt.ind+1]);
var last_chr = null, data = [];
data.length = Math.floor(len_sum / ws) + 1;
for (var i = 0; i < data.length; ++i) data[i] = 0;
while (f.readline(b) >= 0) {
var m, l = b.toString();
if ((m = /^DC\s(\S+)\s(\d+)\s(\d+)\s\d+\s(\S+)/.exec(l)) != null) {
var offset = len_acc[m[1]];
var st1 = (parseInt(m[2]) - 1) * step;
var en1 = parseInt(m[3]) * step;
var stw = Math.floor((st1 + offset) / ws);
var enw = Math.floor((en1 + offset) / ws);
var t = parseFloat(m[4]) / step;
if (stw == enw) { // in one window
data[stw] += (en1 - st1) / ws * t;
} else {
data[stw] += ((stw + 1) * ws - st1 - offset) / ws * t;
for (var i = stw + 1; i < enw; ++i) data[i] += t;