Skip to content

Instantly share code, notes, and snippets.

View elsherbini's full-sized avatar

Joseph Elsherbini elsherbini

View GitHub Profile
@kissgyorgy
kissgyorgy / bitarray.js
Created January 10, 2023 00:20
JavaScript: BitArray
import { inflateRaw, deflateRaw } from "pako";
// https://en.wikipedia.org/wiki/Run-length_encoding
const Z_RLE = 3;
class BitArray {
constructor(bitSize) {
const remainder = Math.min(1, bitSize % 8);
const byteSize = Math.floor(bitSize / 8) + remainder;
const buffer = new ArrayBuffer(byteSize);