6cd3bb527549952b57b5a0efb672b202129bc547
[platform/framework/web/crosswalk-tizen.git] /
1 var MAX_INT = require('./MAX_INT');
2
3     /**
4      * "Convert" value into an 31-bit unsigned integer (since 1 bit is used for sign).
5      * IMPORTANT: value wil wrap at 2^31, if negative will return 0.
6      */
7     function toUInt31(val){
8         // we do not use lang/toNumber because of perf and also because it
9         // doesn't break the functionality
10         return (val <= 0)? 0 : (val > MAX_INT? ~~(val % (MAX_INT + 1)) : ~~val);
11     }
12
13     module.exports = toUInt31;
14
15