diff --git a/types/mersenne-twister/index.d.ts b/types/mersenne-twister/index.d.ts new file mode 100644 index 0000000000..938c8b6b69 --- /dev/null +++ b/types/mersenne-twister/index.d.ts @@ -0,0 +1,47 @@ +// Type definitions for mersenne-twister 1.1 +// Project: https://github.com/boo1ean/mersenne-twister +// Definitions by: 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; +}; diff --git a/types/mersenne-twister/mersenne-twister-tests.ts b/types/mersenne-twister/mersenne-twister-tests.ts new file mode 100644 index 0000000000..663f69c49a --- /dev/null +++ b/types/mersenne-twister/mersenne-twister-tests.ts @@ -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); diff --git a/types/mersenne-twister/tsconfig.json b/types/mersenne-twister/tsconfig.json new file mode 100644 index 0000000000..e4303a44be --- /dev/null +++ b/types/mersenne-twister/tsconfig.json @@ -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" + ] +} diff --git a/types/mersenne-twister/tslint.json b/types/mersenne-twister/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/mersenne-twister/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }