Added dynamic-time-warping module (#35773)

* Added dynamic-time-warping module

* Additional linting fixes

* Made dynamic-time-warping global

* Removed trailing whitespace
This commit is contained in:
Goldsmith42 2019-05-30 20:11:15 +02:00 committed by Sheetal Nandi
parent 28981e2b04
commit f8b8de8a86
5 changed files with 56 additions and 0 deletions

15
types/dynamic-time-warping/index.d.ts vendored Normal file
View File

@ -0,0 +1,15 @@
// Type definitions for dynamic-time-warping 1.0
// Project: https://github.com/GordonLesti/dynamic-time-warping
// Definitions by: Zlatko Andonovski <https://github.com/Goldsmith42>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare global {
class DynamicTimeWarping<T> {
constructor(ser1: ReadonlyArray<T>, ser2: ReadonlyArray<T>, distFunc: (a: T, b: T) => number);
getDistance(): number;
getPath(): Array<[number, number]>;
}
}
export = DynamicTimeWarping;

View File

@ -0,0 +1,7 @@
const ser1 = [9, 93, 15, 19, 24];
const ser2 = [31, 97, 81, 82, 39];
const distFunc = (a: number, b: number) => Math.abs(a - b);
const dtw = new DynamicTimeWarping(ser1, ser2, distFunc);
const dist: number = dtw.getDistance();
const path: Array<[number, number]> = dtw.getPath();

View File

@ -0,0 +1,9 @@
import DTW = require("dynamic-time-warping");
const ser1 = [9, 93, 15, 19, 24];
const ser2 = [31, 97, 81, 82, 39];
const distFunc = (a: number, b: number) => Math.abs(a - b);
const dtw = new DTW(ser1, ser2, distFunc);
const dist: number = dtw.getDistance();
const path: Array<[number, number]> = dtw.getPath();

View File

@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"test/dynamic-time-warping-module-tests.ts",
"test/dynamic-time-warping-global-tests.ts"
]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }