@gmod/cram
Version:
read CRAM files with pure Javascript
59 lines • 2.66 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = uncompress;
// @ts-nocheck
const constants_ts_1 = require("./constants.js");
const decoding_ts_1 = __importDefault(require("./decoding.js"));
function uncompress(
/* ByteBuffer */ input,
/* ByteBuffer */ output,
/* Decoding.AriDecoder[] */ D,
/* Decoding.Symbol[][] */ syms) {
const /* int */ outputSize = output.remaining();
let rans0 = input.getInt();
let rans1 = input.getInt();
let rans2 = input.getInt();
let rans7 = input.getInt();
const /* int */ isz4 = outputSize >> 2;
let /* int */ i0 = 0;
let /* int */ i1 = isz4;
let /* int */ i2 = 2 * isz4;
let /* int */ i7 = 3 * isz4;
let /* int */ l0 = 0;
let /* int */ l1 = 0;
let /* int */ l2 = 0;
let /* int */ l7 = 0;
for (; i0 < isz4; i0 += 1, i1 += 1, i2 += 1, i7 += 1) {
const /* int */ c0 = 0xff & D[l0].R[decoding_ts_1.default.get(rans0, constants_ts_1.TF_SHIFT)];
const /* int */ c1 = 0xff & D[l1].R[decoding_ts_1.default.get(rans1, constants_ts_1.TF_SHIFT)];
const /* int */ c2 = 0xff & D[l2].R[decoding_ts_1.default.get(rans2, constants_ts_1.TF_SHIFT)];
const /* int */ c7 = 0xff & D[l7].R[decoding_ts_1.default.get(rans7, constants_ts_1.TF_SHIFT)];
output.putAt(i0, c0);
output.putAt(i1, c1);
output.putAt(i2, c2);
output.putAt(i7, c7);
rans0 = decoding_ts_1.default.advanceSymbolStep(rans0, syms[l0][c0], constants_ts_1.TF_SHIFT);
rans1 = decoding_ts_1.default.advanceSymbolStep(rans1, syms[l1][c1], constants_ts_1.TF_SHIFT);
rans2 = decoding_ts_1.default.advanceSymbolStep(rans2, syms[l2][c2], constants_ts_1.TF_SHIFT);
rans7 = decoding_ts_1.default.advanceSymbolStep(rans7, syms[l7][c7], constants_ts_1.TF_SHIFT);
rans0 = decoding_ts_1.default.renormalize(rans0, input);
rans1 = decoding_ts_1.default.renormalize(rans1, input);
rans2 = decoding_ts_1.default.renormalize(rans2, input);
rans7 = decoding_ts_1.default.renormalize(rans7, input);
l0 = c0;
l1 = c1;
l2 = c2;
l7 = c7;
}
// Remainder
for (; i7 < outputSize; i7 += 1) {
const /* int */ c7 = 0xff & D[l7].R[decoding_ts_1.default.get(rans7, constants_ts_1.TF_SHIFT)];
output.putAt(i7, c7);
rans7 = decoding_ts_1.default.advanceSymbol(rans7, input, syms[l7][c7], constants_ts_1.TF_SHIFT);
l7 = c7;
}
}
//# sourceMappingURL=d14.js.map