open-index/open-npm huggingface dataset:
npm package: @marco_ciaramella/nrange
Description: Sequence number generator in javascript
Author: Marco Ciaramella
Latest version: 1.0.4

# nrange
Sequence number generator in javascript
## Install
```
npm i @marco_ciaramella/nrange
```
## Usage
```javascript
console.log(nrange(0, 5)); // [0, 1, 2, 3, 4, 5]
console.log(nrange(1, 7, 3)); // [1, 4, 7]
console.log(nrange(5, 0)); // [5, 4, 3, 2, 1, 0]
console.log(nrange(6, 1, -3)); // [6, 3]
console.log(nrange(3, 5, 0)); // error "step must be !== 0"
console.log(nrange(5, 3, 1)); // error "step must be negative"
console.log(nrange(0, 5, -1)); // error "step must be positive"
// float also
console.log(nrange(6.3, 1.5, -3.2)); // [6.3, 3.1]
```
npm package: @marco_ciaramella/sha256-gpu
Description: SHA-256 over WebGPU
Author: Marco Ciaramella
Latest version: 1.1.5

# sha256-gpu
A GPU version of SHA-256 using WebGPU.
## Install
```
npm i @marco_ciaramella/sha256-gpu
```
## Usage
Function `sha256_gpu` takes and array of messages of the same size and computes the SHA-256 for each message in parallel. A message must be in binary format as a `Uint8Array` (byte array). For example if you want the SHA-256 of integer 1 you must pass it as `new Uint8Array([0x01, 0x00, 0x00, 0x00])`.
```javascript
import { sha256_gpu } from "@marco_ciaramella/sha256-gpu";

// each message in messages must have the same size
const messages = [
    new Uint8Array([0x01, 0x00, 0x00, 0x00]), // binary representation of integer 1
    new Uint8Array([0x02, 0x00, 0x00, 0x00]), // binary representation of integer 2
    new Uint8Array([0x03, 0x00, 0x00, 0x00]), // binary representation of integer 3
    new Uint8Array([0x04, 0x00, 0x00, 0x00]), // binary representation of integer 4
    new Uint8Array([0x05, 0x00, 0x00, 0x00]), // binary representation of integer 5
    new Uint8Array([0x06, 0x00, 0x00, 0x00]), // binary representation of integer 6
    new Uint8Array([0x07, 0x00, 0x00, 0x00]), // binary representation of integer 7
    new Uint8Array([0x08, 0x00, 0x00, 0x00]), // binary representation of integer 8
    new Uint8Array([0x09, 0x00, 0x00, 0x00])  // binary representation of integer 9
];
// compute the SHA-256 in parallel
const hashes = await sha256_gpu(messages);
// print the result
for (let i = 0; i < hashes.length; i += 32) {
    console.log(hashes.subarray(i, i + 32).reduce((a, b) => a + b.toString(16).padStart(2, '0'), ''));
}
```
## Note
Use this module when you have a lot of messages and want to compute SHA-256 at once. Don't use this module when you need the SHA-256 for one message at a time. In this case the CPU version performs better.