Nodejs Number Calculate popCount()

Here you can find the source of popCount()

Method Source Code

//DEBUG PURPOSES ONLY
Number.prototype.popCount = function() {
  var v = this.valueOf();
  v = v - ((v >> 1) & 0x55555555);                // put count of each 2 bits into those 2 bits
  v = (v & 0x33333333) + ((v >> 2) & 0x33333333); // put count of each 4 bits into those 4 bits
  return ((v + (v >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
};

Related

  1. ordinalize()
    Number.prototype.ordinalize = function() {
        var abs = Math.abs(this);
        if (abs % 100 >= 11 && abs % 100 <= 13) {
            return this + 'th';
        abs = abs % 10;
        if (abs === 1) { return this + 'st'; }
        if (abs === 2) { return this + 'nd'; }
        if (abs === 3) { return this + 'rd'; }
    ...
    
  2. parseNumber(x)
    function parseNumber(x){
      if(!isNaN(x)) return x;
      return parseFloat(x.substring(1, x.length - 1));
    
  3. percentage(val)
    Number.prototype.percentage = function(val){
      return this * (val/100);
    };
    
  4. plural(a, b, c)
    Number.prototype.plural = function (a, b, c)
      if (this % 1)
        return b
      var v = Math.abs(this) % 100
      if (11 <= v && v <= 19)
        return c
      v = v % 10
      if (2 <= v && v <= 4)
    ...
    
  5. pluralA(ary)
    Number.prototype.pluralA = function (ary)
      return this.plural(ary[0], ary[1], ary[2])
    
  6. powerOf(power)
    Number.prototype.powerOf = function(power) {
      return Math.pow(this, power);
    };
    
  7. randStr()
    Number.prototype.randStr = function() {
        var alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
        var res = '';
        for(var i = 0; i < this; i++) {
            res += alpha[Math.floor(Math.random() * alpha.length)];
        return res;
    
  8. range(a, b, i)
    Number.prototype.range  = function (a, b, i) {
        i = i || true;
        var min = Math.min.apply(Math, [a, b]),
            max = Math.max.apply(Math, [a, b]);
        return i ? this >= min && this <= max : this > min && this < max;
    };
    
  9. repeat(n)
    Number.prototype.repeat = function(n){
      return this.toString().repeat(n);