UNPKG

foop

Version:

interfaces that describe their intentions.

40 lines (37 loc) 3.01 kB
var MAX_32_BIT = require('../native/MAX_32_BIT') var toInteger = require('./toInteger') /** * ToInt32(argument) * >> 0 is shorthand for toInt32 * * @name toInt32 * @alias toSigned32 * @alias toInteger32 * @alias to32BitInteger * @alias to32Bit * * @param {number} x any number * @return {number} 32bit integer * * {@link http://2ality.com/2012/02/js-integers.html 2ality-integers} * {@link https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/JSAPI_reference/JS::ToInt32 mozilla-toint32} * {@link https://tc39.github.io/ecma262/#sec-toint32 emca-toint32} * {@link https://github.com/facebook/immutable-js/blob/master/src/TrieUtils.js#L93 immutable-js-resolveindex} * @see {@link emca-toint32} * @see {@link immutable-js-resolveindex} * @see {@link 2ality-integers} * * @see native/MAX_32_BIT * @see cast/toInteger * * @example * * toInt32(Math.pow(2,32)) //=> 0 * toInt32(Math.pow(2,32)+1) //=> 1 * */ function toInt32(x) { return toInteger(x) % MAX_32_BIT } module.exports = toInt32 //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9JbnQzMi5qcyIsInNvdXJjZXMiOlsidG9JbnQzMi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNQVhfMzJfQklUID0gcmVxdWlyZSgnLi4vbmF0aXZlL01BWF8zMl9CSVQnKVxuY29uc3QgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi90b0ludGVnZXInKVxuXG4vKipcbiAqIFRvSW50MzIoYXJndW1lbnQpXG4gKiA+PiAwIGlzIHNob3J0aGFuZCBmb3IgdG9JbnQzMlxuICpcbiAqIEBuYW1lIHRvSW50MzJcbiAqIEBhbGlhcyB0b1NpZ25lZDMyXG4gKiBAYWxpYXMgdG9JbnRlZ2VyMzJcbiAqIEBhbGlhcyB0bzMyQml0SW50ZWdlclxuICogQGFsaWFzIHRvMzJCaXRcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0geCBhbnkgbnVtYmVyXG4gKiBAcmV0dXJuIHtudW1iZXJ9IDMyYml0IGludGVnZXJcbiAqXG4gKiB7QGxpbmsgaHR0cDovLzJhbGl0eS5jb20vMjAxMi8wMi9qcy1pbnRlZ2Vycy5odG1sIDJhbGl0eS1pbnRlZ2Vyc31cbiAqIHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvUHJvamVjdHMvU3BpZGVyTW9ua2V5L0pTQVBJX3JlZmVyZW5jZS9KUzo6VG9JbnQzMiBtb3ppbGxhLXRvaW50MzJ9XG4gKiB7QGxpbmsgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtdG9pbnQzMiBlbWNhLXRvaW50MzJ9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2ltbXV0YWJsZS1qcy9ibG9iL21hc3Rlci9zcmMvVHJpZVV0aWxzLmpzI0w5MyBpbW11dGFibGUtanMtcmVzb2x2ZWluZGV4fVxuICogQHNlZSB7QGxpbmsgZW1jYS10b2ludDMyfVxuICogQHNlZSB7QGxpbmsgaW1tdXRhYmxlLWpzLXJlc29sdmVpbmRleH1cbiAqIEBzZWUge0BsaW5rIDJhbGl0eS1pbnRlZ2Vyc31cbiAqXG4gKiBAc2VlIG5hdGl2ZS9NQVhfMzJfQklUXG4gKiBAc2VlIGNhc3QvdG9JbnRlZ2VyXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgdG9JbnQzMihNYXRoLnBvdygyLDMyKSkgICAvLz0+IDBcbiAqICB0b0ludDMyKE1hdGgucG93KDIsMzIpKzEpIC8vPT4gMVxuICpcbiAqL1xuZnVuY3Rpb24gdG9JbnQzMih4KSB7XG4gIHJldHVybiB0b0ludGVnZXIoeCkgJSBNQVhfMzJfQklUXG59XG5cbm1vZHVsZS5leHBvcnRzID0gdG9JbnQzMlxuIl0sIm5hbWVzIjpbImNvbnN0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7QUFDbERBLEdBQUssQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQ3hDLFNBQVMsT0FBTyxDQUFDLENBQUMsRUFBRTtFQUNsQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVO0NBQ2pDOztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTzsifQ==