// Generated by IcedCoffeeScript 1.7.1-b
(function() {
  var U32MAX, pow2;

  exports.pow2 = pow2 = function(n) {
    if (n < 31) {
      return 1 << n;
    } else {
      return Math.pow(2, n);
    }
  };

  exports.U32MAX = U32MAX = pow2(32);

  exports.rshift = function(b, n) {
    if (n < 31) {
      return b >> n;
    } else {
      return Math.floor(b / Math.pow(2, n));
    }
  };

  exports.twos_compl = function(x, n) {
    if (x < 0) {
      return pow2(n) - Math.abs(x);
    } else {
      return x;
    }
  };

  exports.twos_compl_inv = function(x, n) {
    return x - pow2(n);
  };

}).call(this);
