bitwise.js (1968B)
1 "use strict"; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.bitAndNumber = bitAndNumber; 7 exports.bitNotNumber = bitNotNumber; 8 exports.bitOrNumber = bitOrNumber; 9 exports.bitXorNumber = bitXorNumber; 10 exports.leftShiftNumber = leftShiftNumber; 11 exports.rightArithShiftNumber = rightArithShiftNumber; 12 exports.rightLogShiftNumber = rightLogShiftNumber; 13 14 var _number = require("../../utils/number.js"); 15 16 var n1 = 'number'; 17 var n2 = 'number, number'; 18 19 function bitAndNumber(x, y) { 20 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 21 throw new Error('Integers expected in function bitAnd'); 22 } 23 24 return x & y; 25 } 26 27 bitAndNumber.signature = n2; 28 29 function bitNotNumber(x) { 30 if (!(0, _number.isInteger)(x)) { 31 throw new Error('Integer expected in function bitNot'); 32 } 33 34 return ~x; 35 } 36 37 bitNotNumber.signature = n1; 38 39 function bitOrNumber(x, y) { 40 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 41 throw new Error('Integers expected in function bitOr'); 42 } 43 44 return x | y; 45 } 46 47 bitOrNumber.signature = n2; 48 49 function bitXorNumber(x, y) { 50 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 51 throw new Error('Integers expected in function bitXor'); 52 } 53 54 return x ^ y; 55 } 56 57 bitXorNumber.signature = n2; 58 59 function leftShiftNumber(x, y) { 60 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 61 throw new Error('Integers expected in function leftShift'); 62 } 63 64 return x << y; 65 } 66 67 leftShiftNumber.signature = n2; 68 69 function rightArithShiftNumber(x, y) { 70 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 71 throw new Error('Integers expected in function rightArithShift'); 72 } 73 74 return x >> y; 75 } 76 77 rightArithShiftNumber.signature = n2; 78 79 function rightLogShiftNumber(x, y) { 80 if (!(0, _number.isInteger)(x) || !(0, _number.isInteger)(y)) { 81 throw new Error('Integers expected in function rightLogShift'); 82 } 83 84 return x >>> y; 85 } 86 87 rightLogShiftNumber.signature = n2;