UNPKG

mout

Version:

Modular Utilities

14 lines (11 loc) 444 B
import MAX_INT from './MAX_INT'; /** * "Convert" value into an 31-bit unsigned integer (since 1 bit is used for sign). * IMPORTANT: value wil wrap at 2^31, if negative will return 0. */ function toUInt31(val: number): number { // we do not use lang/toNumber because of perf and also because it // doesn't break the functionality return val <= 0 ? 0 : val > MAX_INT ? ~~(val % (MAX_INT + 1)) : ~~val; } export default toUInt31;