open-index/open-npm huggingface dataset:
npm package: @lfdoherty/shuffle-array
Description: Randomize the order of the elements in a given array.
Author: Guille Paz
Latest version: 2.0.2

# shuffle-array

[![NPM version][npm-image]][npm-link] [![License][lic-image]][npm-link] [![Build status][travis-image]][travis-link] [![Coverage Status][coverage-image]][coverage-link] [![devDependency status][devdeps-image]][devdeps-link] [![downloads][dt-image]][npm-link]

> Randomize the order of the elements in a given array using the [Fisher-Yates algorithm](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle).

## Installation

    $ npm install shuffle-array

    $ bower install shuffle-array

    $ component install pazguille/shuffle-array

## Usage
```js
var shuffle = require('shuffle-array'),
    collection = [1,2,3,4,5];

shuffle(collection);

console.log(collection); // returns [4, 3, 1, 5, 2]
```

## API

### shuffle(arr, [options])
Randomizes the order of the elements in a given `array`.
- `arr` - The given array.
- [`options`] {Object} - Optional configuration options.
- [`options.copy`] {Boolean} - Sets if should return a shuffled copy of the given array. By default it's a falsy value.
- [`options.rng`] {Function} - Specifies a custom random number generator.

```js
shuffle([1,2,3,4,5]); // returns [4, 3, 1, 5, 2]

// Return a copy of the given array
shuffle([1,2,3,4,5], { 'copy': true }); // returns [4, 3, 1, 5, 2] (copied)
```

### shuffle.pick(arr, [options])
Pick one or more `random` elements from the given `array`.
- `arr` - The given array.
- [`options`] {Object} - Optional configuration options.
- [`options.picks`] {Number} - Specifies how many random elements you want to pick. By default it picks 1.
- [`options.rng`] {Function} - Specifies a custom random number generator.

```js
shuffle.pick([1,2,3,4,5]); // returns 5

// Return a random collection with 2 elements
shuffle.pick([1,2,3,4,5], { 'picks': 2 })); // returns [4, 3]
```

## Test

    npm test

## With :heart: by
- Guille Paz (Front-end developer | Web standards lover)
- E-mail: [guille87paz@gmail.com](mailto:guille87paz@gmail.com)
- Twitter: [@pazguille](http://twitter.com/pazguille)
- Web: [http://pazguille.me](http://pazguille.me)

## License
MIT license. Copyright © 2014.

[npm-image]: https://img.shields.io/npm/v/shuffle-array.svg
[lic-image]: https://img.shields.io/npm/l/shuffle-array.svg
[npm-link]: https://npmjs.org/package/shuffle-array
[travis-image]: https://img.shields.io/travis/pazguille/shuffle-array.svg
[travis-link]: https://travis-ci.org/pazguille/shuffle-array
[devdeps-image]: https://img.shields.io/david/dev/pazguille/shuffle-array.svg
[devdeps-link]: https://david-dm.org/pazguille/shuffle-array#info=devDependencies
[dt-image]: https://img.shields.io/npm/dt/shuffle-array.svg
[coverage-image]: https://img.shields.io/coveralls/pazguille/shuffle-array.svg
[coverage-link]: https://coveralls.io/github/pazguille/shuffle-array
npm package: @lfdoherty/typedarray-pool
Description: Reuse typed arrays
Author: Mikola Lysenko
Latest version: 2.0.0

typedarray-pool
===============
A global pool for typed arrays.

[![testling badge](https://ci.testling.com/lfdoherty/typedarray-pool.png)](https://ci.testling.com/lfdoherty/typedarray-pool)

[![build status](https://secure.travis-ci.org/lfdoherty/typedarray-pool.png)](http://travis-ci.org/lfdoherty/typedarray-pool)

# Example

```javascript
var pool = require("typedarray-pool")

//Allocate a buffer with at least 128 floats
var f = pool.malloc(128, "float")

// ... do stuff ...

//When done, release buffer
pool.free(f)
```

# Install

    npm install typedarray-pool

# API

```javascript
var pool = require("typedarray-pool")
```

### `pool.malloc(n[, dtype])`
Allocates a typed array (or ArrayBuffer) with at least n elements.

* `n` is the number of elements in the array
* `dtype` is the data type of the array to allocate.  Must be one of:

  + `"uint8"`
  + `"uint16"`
  + `"uint32"`
  + `"int8"`
  + `"int16"`
  + `"int32"`
  + `"float"`
  + `"float32"`
  + `"double"`
  + `"float64"`
  + `"arraybuffer"`
  + `"data"`
  + `"uint8_clamped"`
  + `"buffer"`

**Returns** A typed array with at least `n` elements in it.  If `dtype` is undefined, an ArrayBuffer is returned.

**Note**  You can avoid the dispatch by directly calling one of the following methods:

* `pool.mallocUint8`
* `pool.mallocUint16`
* `pool.mallocUint32`
* `pool.mallocInt8`
* `pool.mallocInt16`
* `pool.mallocInt32`
* `pool.mallocFloat`
* `pool.mallocDouble`
* `pool.mallocArrayBuffer`
* `pool.mallocDataView`
* `pool.mallocUint8Clamped`
* `pool.mallocBuffer`

### `pool.free(array)`
Returns the array back to the pool.

* `array` The array object to return to the pool.

**Note** You can speed up the method if you know the type of array before hand by calling one of the following:

* `pool.freeUint8`
* `pool.freeUint16`
* `pool.freeUint32`
* `pool.freeInt8`
* `pool.freeInt16`
* `pool.freeInt32`
* `pool.freeFloat`
* `pool.freeDouble`
* `pool.freeArrayBuffer`
* `pool.freeDataView`
* `pool.freeUint8Clamped`
* `pool.freeBuffer`

### `pool.clearCache()`
Removes all references to cached arrays.  Use this when you are done with the pool to return all the cached memory to the garbage collector.

# Credits
(c) 2014 Mikola Lysenko. MIT License