Merge pull request #18094 from KentarouTakeda/mersenne-twister

Add a new package "mersenne-twister"
This commit is contained in:
Wesley Wigham
2017-07-17 11:17:05 -07:00
committed by GitHub
4 changed files with 96 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
// Type definitions for mersenne-twister 1.1
// Project: https://github.com/boo1ean/mersenne-twister
// Definitions by: KentarouTakeda <https://github.com/KentarouTakeda/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
export = class MersenneTwister {
/**
* constructs mt with a number
* @params seed
*/
constructor(seed?: number|number[]);
/**
* initializes mt with a number
*/
init_seed(seed: number): void;
/**
* generates a random number on [0,0xffffffff]-interval
*/
random_int(): number;
/**
* generates a random number on [0,0x7fffffff]-interval
*/
random_int31(): number;
/**
* generates a random number on [0,1]-real-interval
*/
random_incl(): number;
/**
* generates a random number on [0,1)-real-interval
*/
random(): number;
/**
* generates a random number on (0,1)-real-interval
*/
random_excl(): number;
/**
* generates a random number on [0,1) with 53-bit resolution
*/
random_long(): number;
};
@@ -0,0 +1,23 @@
import MersenneTwister = require('mersenne-twister');
const msWithTime = new MersenneTwister();
const msWithNumber = new MersenneTwister(1);
const msWithNumbers = new MersenneTwister([1, 2, 3]);
const msWithInitSeed = new MersenneTwister();
msWithInitSeed.init_seed(1);
const ms = msWithTime;
let result: number;
result = ms.random();
console.log(result);
result = ms.random_excl();
console.log(result);
result = ms.random_incl();
console.log(result);
result = ms.random_int();
console.log(result);
result = ms.random_int31();
console.log(result);
result = ms.random_long();
console.log(result);
+25
View File
@@ -0,0 +1,25 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"mersenne-twister-tests.ts"
]
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }