Sha256: 3a5d7b6514ac328fe0d6f939e4d07a0c144966d08788e23378ae879e084478e3

Contents?: true

Size: 1 KB

Versions: 25

Compression:

Stored size: 1 KB

Contents

#include "base64vlq.hpp"

namespace Sass {

  string Base64VLQ::encode(const int number) const
  {
    string encoded = "";

    int vlq = to_vlq_signed(number);

    do {
      int digit = vlq & VLQ_BASE_MASK;
      vlq >>= VLQ_BASE_SHIFT;
      if (vlq > 0) {
        digit |= VLQ_CONTINUATION_BIT;
      }
      encoded += base64_encode(digit);
    } while (vlq > 0);

    return encoded;
  }

  char Base64VLQ::base64_encode(const int number) const
  {
    int index = number;
    if (index < 0) index = 0;
    if (index > 63) index = 63;
    return CHARACTERS[index];
  }

  int Base64VLQ::to_vlq_signed(const int number) const
  {
    return (number < 0) ? ((-number) << 1) + 1 : (number << 1) + 0;
  }

  const char* Base64VLQ::CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

  const int Base64VLQ::VLQ_BASE_SHIFT = 5;
  const int Base64VLQ::VLQ_BASE = 1 << VLQ_BASE_SHIFT;
  const int Base64VLQ::VLQ_BASE_MASK = VLQ_BASE - 1;
  const int Base64VLQ::VLQ_CONTINUATION_BIT = VLQ_BASE;

}

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
gulp_assets-1.0.0.pre.5 template/node_modules/gulp-sass/node_modules/node-sass/src/libsass/base64vlq.cpp
gulp_assets-1.0.0.pre.4 template/node_modules/gulp-sass/node_modules/node-sass/src/libsass/base64vlq.cpp
gulp_assets-1.0.0.pre.3 template/node_modules/gulp-sass/node_modules/node-sass/src/libsass/base64vlq.cpp
sassc-1.7.1 ext/libsass/base64vlq.cpp
sassc-1.7.0 ext/libsass/base64vlq.cpp
sassc-1.6.0 ext/libsass/base64vlq.cpp
sassc-1.5.1 ext/libsass/base64vlq.cpp
sassc-1.5.0 ext/libsass/base64vlq.cpp
sassc-1.4.0 ext/libsass/base64vlq.cpp
sassc-1.3.0 ext/libsass/base64vlq.cpp
sassc-1.2.0 ext/libsass/base64vlq.cpp
sassc-1.1.2 ext/libsass/base64vlq.cpp
sassc-1.1.1 ext/libsass/base64vlq.cpp
sassc-1.1.0 ext/libsass/base64vlq.cpp
sassc-1.0.0 ext/libsass/base64vlq.cpp
sassc-0.0.11 ext/libsass/base64vlq.cpp
sassc-0.0.10 ext/libsass/base64vlq.cpp
sassc-0.0.9 ext/libsass/base64vlq.cpp
sassc-0.0.8 ext/libsass/base64vlq.cpp
sassc-0.0.7 ext/libsass/base64vlq.cpp