Skip to content

luncheon/truncated-binary-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@luncheon/truncated-binary-code

A truncated binary coding implementation.

import assert from "node:assert/strict";
import { decodeTruncatedBinary, encodeTruncatedBinary } from "@luncheon/truncated-binary-code";

assert.deepEqual(encodeTruncatedBinary(0, 10), [0, 0, 0]);
assert.deepEqual(encodeTruncatedBinary(1, 10), [0, 0, 1]);
assert.deepEqual(encodeTruncatedBinary(2, 10), [0, 1, 0]);
assert.deepEqual(encodeTruncatedBinary(3, 10), [0, 1, 1]);
assert.deepEqual(encodeTruncatedBinary(4, 10), [1, 0, 0]);
assert.deepEqual(encodeTruncatedBinary(5, 10), [1, 0, 1]);
assert.deepEqual(encodeTruncatedBinary(6, 10), [1, 1, 0, 0]);
assert.deepEqual(encodeTruncatedBinary(7, 10), [1, 1, 0, 1]);
assert.deepEqual(encodeTruncatedBinary(8, 10), [1, 1, 1, 0]);
assert.deepEqual(encodeTruncatedBinary(9, 10), [1, 1, 1, 1]);

assert.equal(decodeTruncatedBinary([1, 0, 1], 10), 5);

License

WTFPL

See also

About

A truncated binary coding implementation.

Resources

License

Stars

Watchers

Forks

Contributors