Spaces:
Running
Running
Download BeadQR/miniprogram/utils/qrcore/bit-buffer.js from Ethscriptions/cut: direct link, hf CLI and curl.
- Browser
- Download file 719 Bytes
-
https://huggingface.co/spaces/Ethscriptions/cut/resolve/main/BeadQR/miniprogram/utils/qrcore/bit-buffer.js
- Command line
-
hf download hf://spaces/Ethscriptions/cut/BeadQR/miniprogram/utils/qrcore/bit-buffer.js
-
curl -L -o bit-buffer.js https://huggingface.co/spaces/Ethscriptions/cut/resolve/main/BeadQR/miniprogram/utils/qrcore/bit-buffer.js
719 Bytes
| function BitBuffer () { | |
| this.buffer = [] | |
| this.length = 0 | |
| } | |
| BitBuffer.prototype = { | |
| get: function (index) { | |
| const bufIndex = Math.floor(index / 8) | |
| return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1 | |
| }, | |
| put: function (num, length) { | |
| for (let i = 0; i < length; i++) { | |
| this.putBit(((num >>> (length - i - 1)) & 1) === 1) | |
| } | |
| }, | |
| getLengthInBits: function () { | |
| return this.length | |
| }, | |
| putBit: function (bit) { | |
| const bufIndex = Math.floor(this.length / 8) | |
| if (this.buffer.length <= bufIndex) { | |
| this.buffer.push(0) | |
| } | |
| if (bit) { | |
| this.buffer[bufIndex] |= (0x80 >>> (this.length % 8)) | |
| } | |
| this.length++ | |
| } | |
| } | |
| module.exports = BitBuffer | |