UNPKG

1.97 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.bitAndNumber = bitAndNumber;
7exports.bitNotNumber = bitNotNumber;
8exports.bitOrNumber = bitOrNumber;
9exports.bitXorNumber = bitXorNumber;
10exports.leftShiftNumber = leftShiftNumber;
11exports.rightArithShiftNumber = rightArithShiftNumber;
12exports.rightLogShiftNumber = rightLogShiftNumber;
13
14var _number = require("../../utils/number.js");
15
16var n1 = 'number';
17var n2 = 'number, number';
18
19function 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
27bitAndNumber.signature = n2;
28
29function bitNotNumber(x) {
30 if (!(0, _number.isInteger)(x)) {
31 throw new Error('Integer expected in function bitNot');
32 }
33
34 return ~x;
35}
36
37bitNotNumber.signature = n1;
38
39function 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
47bitOrNumber.signature = n2;
48
49function 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
57bitXorNumber.signature = n2;
58
59function 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
67leftShiftNumber.signature = n2;
68
69function 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
77rightArithShiftNumber.signature = n2;
78
79function 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
87rightLogShiftNumber.signature = n2;
\No newline at end of file