UNPKG

@xogeny/mat-parser

Version:

A parser for MATLAB v4 files

89 lines 2.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DataFormat; (function (DataFormat) { DataFormat[DataFormat["Float64"] = 0] = "Float64"; DataFormat[DataFormat["Float32"] = 1] = "Float32"; DataFormat[DataFormat["Int32"] = 2] = "Int32"; DataFormat[DataFormat["Int16"] = 3] = "Int16"; DataFormat[DataFormat["UInt16"] = 4] = "UInt16"; DataFormat[DataFormat["UInt8"] = 5] = "UInt8"; })(DataFormat = exports.DataFormat || (exports.DataFormat = {})); function dataSize(format, n) { switch (format) { case DataFormat.Float64: return 8 * n; case DataFormat.Float32: return 4 * n; case DataFormat.Int32: return 4 * n; case DataFormat.Int16: return 2 * n; case DataFormat.UInt16: return 2 * n; case DataFormat.UInt8: return 1 * n; default: throw new Error("Unknown data format: " + format); } } exports.dataSize = dataSize; function readOne(info, format, buffer) { switch (format) { case DataFormat.Float64: info.push(buffer.readDoubleLE(0)); break; case DataFormat.Float32: info.push(buffer.readFloatLE(0)); break; case DataFormat.Int32: info.push(buffer.readInt32LE(0)); break; case DataFormat.Int16: info.push(buffer.readInt16LE(0)); break; case DataFormat.UInt16: info.push(buffer.readUInt16LE(0)); break; case DataFormat.UInt8: info.push(buffer.readUInt8(0)); break; default: throw new Error("Uknown DataFormat value: " + format); } return buffer.slice(dataSize(format, 1)); } exports.readOne = readOne; var MatrixType; (function (MatrixType) { MatrixType[MatrixType["FullNumeric"] = 0] = "FullNumeric"; MatrixType[MatrixType["SparseNumeric"] = 1] = "SparseNumeric"; MatrixType[MatrixType["Text"] = 2] = "Text"; })(MatrixType = exports.MatrixType || (exports.MatrixType = {})); function dataType(n) { if (n == "0") return DataFormat.Float64; if (n == "1") return DataFormat.Float32; if (n == "2") return DataFormat.Int32; if (n == "3") return DataFormat.Int16; if (n == "4") return DataFormat.UInt16; if (n == "5") return DataFormat.UInt8; throw new Error("Invalid data type '" + n + "'"); } exports.dataType = dataType; function matrixType(n) { if (n == "0") return MatrixType.FullNumeric; if (n == "1") return MatrixType.Text; if (n == "2") return MatrixType.SparseNumeric; throw new Error("Invalid matrix type '" + n + "'"); } exports.matrixType = matrixType; //# sourceMappingURL=types.js.map