mout
Version:
Modular Utilities
14 lines (12 loc) • 423 B
text/typescript
/**
* "Convert" value into an 32-bit integer.
* Works like `Math.floor` if val > 0 and `Math.ceil` if val < 0.
* IMPORTANT: val will wrap at 2^31 and -2^31.
* Perf tests: http://jsperf.com/vs-vs-parseint-bitwise-operators/7
*/
function toInt(val: number): number {
// we do not use lang/toNumber because of perf and also because it
// doesn't break the functionality
return ~~val;
}
export default toInt;