@yinyinfurong_zmr/dbc-can
Version:
A general purpose CAN (Controller Area Network) toolbox with support for .dbc file parsing, CAN message decoding, and more
39 lines • 1 kB
JavaScript
export const computeDataType = (numOfBits, isSigned, isFloat = false) => {
if (numOfBits === 64 && isFloat) {
return 'double';
}
else if (numOfBits === 32 && isFloat) {
return 'float';
}
if (numOfBits <= 8) {
if (!isSigned) {
return 'uint8';
}
return 'int8';
}
else if (numOfBits <= 16) {
if (!isSigned) {
return 'uint16';
}
return 'int16';
}
else if (numOfBits <= 32) {
if (!isSigned) {
return 'uint32';
}
return 'int32';
}
else if (numOfBits <= 64) {
if (!isSigned) {
return 'uint64';
}
return 'int64';
}
else if (numOfBits > 64) {
return 'unknown';
}
else {
throw new Error(`Could not compute data type from inputs: bits ->${numOfBits} signed-> ${isSigned} float ->${isFloat}`);
}
};
//# sourceMappingURL=DataTypes.js.map