A lot of code tidy up

This commit is contained in:
Bryan Ashby 2020-06-15 19:08:55 -06:00
parent fd86293dbe
commit 9e9dc9af89
No known key found for this signature in database
GPG key ID: B49EB437951D2542
16 changed files with 144 additions and 140 deletions

View file

@ -9,51 +9,51 @@ const { Errors } = require('./enig_error');
//
// Number to 32bit MBF
numToMbf32 = (v) => {
const numToMbf32 = (v) => {
const mbf = Buffer.alloc(4);
if (0 === v) {
return mbf;
}
if (0 === v) {
return mbf;
}
const ieee = Buffer.alloc(4);
ieee.writeFloatLE(v, 0);
const ieee = Buffer.alloc(4);
ieee.writeFloatLE(v, 0);
const sign = ieee[3] & 0x80;
let exp = (ieee[3] << 1) | (ieee[2] >> 7);
const sign = ieee[3] & 0x80;
let exp = (ieee[3] << 1) | (ieee[2] >> 7);
if (exp === 0xfe) {
throw Errors.Invalid(`${v} cannot be converted to mbf`);
}
throw Errors.Invalid(`${v} cannot be converted to mbf`);
}
exp += 2;
exp += 2;
mbf[3] = exp;
mbf[2] = sign | (ieee[2] & 0x7f);
mbf[1] = ieee[1];
mbf[0] = ieee[0];
mbf[2] = sign | (ieee[2] & 0x7f);
mbf[1] = ieee[1];
mbf[0] = ieee[0];
return mbf;
}
return mbf;
};
mbf32ToNum = (mbf) => {
if (0 === mbf[3]) {
return 0.0;
}
const mbf32ToNum = (mbf) => {
if (0 === mbf[3]) {
return 0.0;
}
const ieee = Buffer.alloc(4);
const sign = mbf[2] & 0x80;
const exp = mbf[3] - 2;
const ieee = Buffer.alloc(4);
const sign = mbf[2] & 0x80;
const exp = mbf[3] - 2;
ieee[3] = sign | (exp >> 1);
ieee[2] = (exp << 7) | (mbf[2] & 0x7f);
ieee[1] = mbf[1];
ieee[0] = mbf[0];
ieee[3] = sign | (exp >> 1);
ieee[2] = (exp << 7) | (mbf[2] & 0x7f);
ieee[1] = mbf[1];
ieee[0] = mbf[0];
return ieee.readFloatLE(0);
}
return ieee.readFloatLE(0);
};
module.exports = {
numToMbf32,
mbf32ToNum,
}
numToMbf32,
mbf32ToNum,
};