-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.d.ts
112 lines (96 loc) · 2.1 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
type GetData2D = (
condition: [number, number],
reload: boolean,
materialMatrix: number[],
rows: number,
eps: number[],
mu: number[],
sigma: number[],
dataToReturn: number,
srcPositionRelativeSet: number[]
) => {
dataX: number[],
dataY: number[],
dataEz: number[],
rows: number,
cols: number,
timeStep: number,
max: number,
min: number,
}
type GetData1D = (
condition: [number, number],
reload: boolean,
materialVector: number[],
rows: number,
eps: number[],
mu: number[],
sigma: number[],
srcPositionRelativeSet: number[]
) => any
// interface Module {
// sayHi: (id: number) => void;
// getData3D: GetData3D;
// getData2D: GetData2D;
// }
// declare module 'bindings' {
// export default function(string: 'hello'): Module;
// }
type Fdtd1dOptions = {
omega: number;
tau: number;
isReload: boolean;
materialVector: number[];
eps: number[];
mu: number[];
sigma: number[];
srcPosition: number[];
};
type Fdtd1dOutput = {
max: number;
min: number;
dataX: number[];
dataY: number[];
};
type Fdtd2dOptions = {
lambda: number;
beamsize: number;
isReload: boolean;
materialVector: number[];
eps: number[];
mu: number[];
sigma: number[];
dataReturnType: number;
srcPosition: number[];
srcType: number;
};
type Fdtd2dOutput = {
max: number;
min: number;
dataX: number[];
dataY: number[];
rows: number;
cols: number;
timestep: number;
field: number[];
dataEz?: number[];
dataHx?: number[];
dataHy?: number[];
dataEnergy?: number[];
};
declare module 'napi-addon-fdtd' {
// export const getData2D: GetData2D;
// export const getData1D: GetData1D;
class Fdtd1D {
constructor(options: Fdtd1dOptions);
getNextTimeLayer(): Fdtd1dOutput;
}
class Fdtd2D {
constructor(options: Fdtd2dOptions);
getNextTimeLayer({dataReturnType}: {dataReturnType: number}): Fdtd2dOutput;
}
class Fdtd2DTFSF {
constructor();
getNextTimeLayer(): Fdtd2dOutput;
}
}