bitwise.js 1.9 KB

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