ngraph.random

1.1.0 • Public • Published

ngraph.random

Operation with seeded random numbers for ngraph.*.

build status

Install

You can use CDN:

<script src='https://cdn.jsdelivr.net/npm/ngraph.random/dist/ngraph.random.js'></script>

or via npm:

npm install ngraph.random

and then:

var ngraphRandom = require('ngraph.random);

Usage

API provides random number generation, and array shuffling.

Let's start with random number generation:

// create generator, seeded with 42
var randomGenerator = ngraphRandom(42);
 
 // prints double number from [0..1)
console.log(randomGenerator.nextDouble());
 
// Get next non-negative random number, less than 100.
console.log(randomGenerator.next(100)); // prints 20, we are seeded
// Note: next() always expect maxValue. If you don't pass it it will return NaN.
// This is done for performance reasons, we don't want to check input arguments
// on each call.

Second part of the API is array shuffling:

var ngraphRandom = require('ngraph.random');
 
// create "shuffling" iterator:
var originalArray = [0, 1, 2, 3, 4, 5];
var randomIterator = ngraphRandom.randomIterator(originalArray);
 
// iterate over array in random order:
randomIterator.forEach(function(x) {
  console.log(x); // prints originalArray's items in random order
});
// Note: using random iterator does modify original array.
// This is done to save memory.
 
// If you want to re-shuffle array in-place, you can use:
randomIterator.shuffle();
 
// Finally if you want to have seeded shuffling you can pass optional seeded 
// random number generator:
var seededGenerator = ngraphRandom.random(42);
ngraphRandom.randomIterator(originalArray, seededGenerator); 

distributions

The library supports random number generation that follow Gaussian distribution:

var generator = ngraphRandom(42);
 
// returns a random number from a gaussian distribution with mean 0 and
// standard deviation 1
generator.gaussian();

License

BSD 3-clause

Readme

Keywords

Package Sidebar

Install

npm i ngraph.random

Weekly Downloads

17,770

Version

1.1.0

License

BSD-3-Clause

Unpacked Size

17.5 kB

Total Files

9

Last publish

Collaborators

  • anvaka