mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 11:02:11 +08:00
Add nblas
This commit is contained in:
108
nblas/index.d.ts
vendored
Normal file
108
nblas/index.d.ts
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
// Type definitions for nblas 1.2
|
||||
// Project: https://github.com/mateogianolio/nblas
|
||||
// Definitions by: Erik Gerrits <https://github.com/erikgerrits>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export const enum TRANS {
|
||||
NoTrans = 111,
|
||||
Trans = 112,
|
||||
ConjTrans = 113
|
||||
}
|
||||
|
||||
export const enum UPLO {
|
||||
Upper = 121,
|
||||
Lower = 122
|
||||
}
|
||||
|
||||
export const enum DIAG {
|
||||
NonUnit = 131,
|
||||
Unit = 132
|
||||
}
|
||||
|
||||
export const enum SIDE {
|
||||
Left = 141,
|
||||
Right = 142
|
||||
}
|
||||
|
||||
export const NoTrans: TRANS.NoTrans;
|
||||
export const Trans: TRANS.Trans;
|
||||
export const ConjTrans: TRANS.ConjTrans;
|
||||
|
||||
export const Upper: UPLO.Upper;
|
||||
export const Lower: UPLO.Lower;
|
||||
|
||||
export const NonUnit: DIAG.NonUnit;
|
||||
export const Unit: DIAG.Unit;
|
||||
|
||||
export const Left: SIDE.Left;
|
||||
export const Right: SIDE.Right;
|
||||
|
||||
// BLAS Level 1 Routines and Functions
|
||||
export function asum(x: Float32Array|Float64Array): number;
|
||||
export function axpy(x: Float32Array, y: Float32Array, alpha?: number): void;
|
||||
export function axpy(x: Float64Array, y: Float64Array, alpha?: number): void;
|
||||
export function copy(x: Float32Array, y: Float32Array): void;
|
||||
export function copy(x: Float64Array, y: Float64Array): void;
|
||||
export function dot(x: Float32Array, y: Float32Array): number;
|
||||
export function dot(x: Float64Array, y: Float64Array): number;
|
||||
export function nrm2(x: Float32Array|Float64Array): number;
|
||||
export function rot(x: Float32Array, y: Float32Array, c: number, s: number): void;
|
||||
export function rot(x: Float64Array, y: Float64Array, c: number, s: number): void;
|
||||
export function rotg(x: Float32Array, y: Float32Array, c: Float32Array, s: Float32Array): void;
|
||||
export function rotg(x: Float64Array, y: Float64Array, c: Float64Array, s: Float64Array): void;
|
||||
export function rotm(x: Float32Array, y: Float32Array, param: Float32Array): void;
|
||||
export function rotm(x: Float64Array, y: Float64Array, param: Float64Array): void;
|
||||
export function rotmg(d1: Float32Array, d2: Float32Array, x1: Float32Array, y1: number, param: Float32Array): void;
|
||||
export function rotmg(d1: Float64Array, d2: Float64Array, x1: Float64Array, y1: number, param: Float64Array): void;
|
||||
export function scal(x: Float32Array | Float64Array, alpha: number): void;
|
||||
export function swap(x: Float32Array, y: Float32Array): void;
|
||||
export function swap(x: Float64Array, y: Float64Array): void;
|
||||
export function iamax(x: Float32Array | Float64Array): number;
|
||||
|
||||
// BLAS Level 2 Routines
|
||||
export function gbmv(a: Float32Array, x: Float32Array, y: Float32Array, kl?: number, ku?: number, alpha?: number, beta?: number, trans?: TRANS): void;
|
||||
export function gbmv(a: Float64Array, x: Float64Array, y: Float64Array, kl?: number, ku?: number, alpha?: number, beta?: number, trans?: TRANS): void;
|
||||
export function gemv(a: Float32Array, x: Float32Array, y: Float32Array, alpha?: number, beta?: number, trans?: TRANS): void;
|
||||
export function gemv(a: Float64Array, x: Float64Array, y: Float64Array, alpha?: number, beta?: number, trans?: TRANS): void;
|
||||
export function ger(a: Float32Array, x: Float32Array, y: Float32Array, alpha?: number): void;
|
||||
export function ger(a: Float64Array, x: Float64Array, y: Float64Array, alpha?: number): void;
|
||||
export function sbmv(a: Float32Array, x: Float32Array, y: Float32Array, k?: number, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function sbmv(a: Float64Array, x: Float64Array, y: Float64Array, k?: number, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function spmv(ap: Float32Array, x: Float32Array, y: Float32Array, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function spmv(ap: Float64Array, x: Float64Array, y: Float64Array, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function spr(ap: Float32Array, x: Float32Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function spr(ap: Float64Array, x: Float64Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function spr2(ap: Float32Array, x: Float32Array, y: Float32Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function spr2(ap: Float64Array, x: Float64Array, y: Float64Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function symv(a: Float32Array, x: Float32Array, y: Float32Array, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function symv(a: Float64Array, x: Float64Array, y: Float64Array, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function syr(a: Float32Array, x: Float32Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function syr(a: Float64Array, x: Float64Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function syr2(a: Float32Array, x: Float32Array, y: Float32Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function syr2(a: Float64Array, x: Float64Array, y: Float64Array, uplo?: UPLO, alpha?: number): void;
|
||||
export function tbmv(a: Float32Array, x: Float32Array, y: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tbmv(a: Float64Array, x: Float64Array, y: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tbsv(a: Float32Array, x: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tbsv(a: Float64Array, x: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tpmv(ap: Float32Array, x: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tpmv(ap: Float64Array, x: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tpsv(ap: Float32Array, x: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function tpsv(ap: Float64Array, x: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function trmv(a: Float32Array, x: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function trmv(a: Float64Array, x: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function trsv(a: Float32Array, x: Float32Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
export function trsv(a: Float64Array, x: Float64Array, uplo?: UPLO, trans?: TRANS, diag?: DIAG): void;
|
||||
|
||||
// BLAS Level 3 Routines
|
||||
export function gemm(a: Float32Array, b: Float32Array, c: Float32Array, m: number, n: number, k: number, transa?: TRANS, transb?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function gemm(a: Float64Array, b: Float64Array, c: Float64Array, m: number, n: number, k: number, transa?: TRANS, transb?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function symm(a: Float32Array, b: Float32Array, c: Float32Array, m: number, n: number, side: SIDE, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function symm(a: Float64Array, b: Float64Array, c: Float64Array, m: number, n: number, side: SIDE, uplo?: UPLO, alpha?: number, beta?: number): void;
|
||||
export function syrk(a: Float32Array, c: Float32Array, n: number, k: number, uplo?: UPLO, trans?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function syrk(a: Float64Array, c: Float64Array, n: number, k: number, uplo?: UPLO, trans?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function syr2k(a: Float32Array, b: Float32Array, c: Float32Array, n: number, k: number, uplo?: UPLO, trans?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function syr2k(a: Float64Array, b: Float64Array, c: Float64Array, n: number, k: number, uplo?: UPLO, trans?: TRANS, alpha?: number, beta?: number): void;
|
||||
export function trmm(a: Float32Array, b: Float32Array, m: number, n: number, side: SIDE, uplo?: UPLO, transa?: TRANS, diag?: DIAG, alpha?: number): void;
|
||||
export function trmm(a: Float64Array, b: Float64Array, m: number, n: number, side: SIDE, uplo?: UPLO, transa?: TRANS, diag?: DIAG, alpha?: number): void;
|
||||
export function trsm(a: Float32Array, b: Float32Array, m: number, n: number, side: SIDE, uplo?: UPLO, transa?: TRANS, diag?: DIAG, alpha?: number): void;
|
||||
export function trsm(a: Float64Array, b: Float64Array, m: number, n: number, side: SIDE, uplo?: UPLO, transa?: TRANS, diag?: DIAG, alpha?: number): void;
|
||||
48
nblas/nblas-tests.ts
Normal file
48
nblas/nblas-tests.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import * as nblas from "nblas";
|
||||
|
||||
const a = new Float32Array(0);
|
||||
const n = 1;
|
||||
let res: number;
|
||||
|
||||
function test () {
|
||||
// BLAS Level 1 Routines and Functions
|
||||
res = nblas.asum(a);
|
||||
nblas.axpy(a, a, n);
|
||||
nblas.copy(a, a);
|
||||
res = nblas.dot(a, a);
|
||||
res = nblas.nrm2(a);
|
||||
nblas.rot(a, a, n, n);
|
||||
nblas.rotg(a, a, a, a);
|
||||
nblas.rotm(a, a, a);
|
||||
nblas.rotmg(a, a, a, n, a);
|
||||
nblas.scal(a, n);
|
||||
nblas.swap(a, a);
|
||||
res = nblas.iamax(a);
|
||||
//nblas.iamin(a);
|
||||
|
||||
// BLAS Level 2 Routines
|
||||
nblas.gbmv(a, a, a, n, n, n, n, nblas.Trans);
|
||||
nblas.gemv(a, a, a, n, n, nblas.Trans);
|
||||
nblas.ger(a, a, a, n);
|
||||
nblas.sbmv(a, a, a, n, nblas.Lower, n, n);
|
||||
nblas.spmv(a, a, a, nblas.Lower, n, n);
|
||||
nblas.spr(a, a, nblas.Lower, n);
|
||||
nblas.spr2(a, a, a, nblas.Lower, n);
|
||||
nblas.symv(a, a, a, nblas.Lower, n, n);
|
||||
nblas.syr(a, a, nblas.Lower, n);
|
||||
nblas.syr2(a, a, a, nblas.Lower, n);
|
||||
nblas.tbmv(a, a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
nblas.tbsv(a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
nblas.tpmv(a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
nblas.tpsv(a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
nblas.trmv(a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
nblas.trsv(a, a, nblas.Lower, nblas.Trans, nblas.Unit);
|
||||
|
||||
// BLAS Level 3 Routines
|
||||
nblas.gemm(a, a, a, n, n, n, nblas.Trans, nblas.Trans, n, n);
|
||||
nblas.symm(a, a, a, n, n, nblas.Right, nblas.Lower, n, n);
|
||||
nblas.syrk(a, a, n, n, nblas.Lower, nblas.Trans, n, n);
|
||||
nblas.syr2k(a, a, a, n, n, nblas.Lower, nblas.Trans, n, n);
|
||||
nblas.trmm(a, a, n, n, nblas.Right, nblas.Lower, nblas.Trans, nblas.Unit, n);
|
||||
nblas.trsm(a, a, n, n, nblas.Right, nblas.Lower, nblas.Trans, nblas.Unit, n);
|
||||
}
|
||||
20
nblas/tsconfig.json
Normal file
20
nblas/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"nblas-tests.ts"
|
||||
]
|
||||
}
|
||||
1
nblas/tslint.json
Normal file
1
nblas/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
Reference in New Issue
Block a user