dsp-collection 0.2.2 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/filter/SpecFilt.d.ts +10 -0
- package/filter/SpecFilt.js +99 -0
- package/filter/SpecFilt.js.map +1 -0
- package/math/Complex.js +1 -1
- package/math/Complex.js.map +1 -1
- package/math/ComplexArray.d.ts +9 -5
- package/math/ComplexArray.js +49 -21
- package/math/ComplexArray.js.map +1 -1
- package/math/MathUtils.d.ts +2 -1
- package/math/MathUtils.js +6 -0
- package/math/MathUtils.js.map +1 -1
- package/math/MutableComplex.d.ts +1 -1
- package/math/MutableComplex.js +1 -1
- package/math/MutableComplex.js.map +1 -1
- package/math/PolyReal.d.ts +13 -8
- package/math/PolyReal.js +180 -32
- package/math/PolyReal.js.map +1 -1
- package/package.json +5 -7
- package/signal/AdaptiveStft.d.ts +6 -6
- package/signal/AdaptiveStft.js +3 -3
- package/signal/AdaptiveStft.js.map +1 -1
- package/signal/Autocorrelation.d.ts +5 -5
- package/signal/Autocorrelation.js +2 -2
- package/signal/Autocorrelation.js.map +1 -1
- package/signal/Dft.d.ts +6 -6
- package/signal/Dft.js +3 -3
- package/signal/Dft.js.map +1 -1
- package/signal/EnvelopeDetection.d.ts +1 -1
- package/signal/EnvelopeDetection.js +1 -1
- package/signal/EnvelopeDetection.js.map +1 -1
- package/signal/Fft.d.ts +7 -4
- package/signal/Fft.js +98 -9
- package/signal/Fft.js.map +1 -1
- package/signal/Goertzel.d.ts +5 -5
- package/signal/Goertzel.js +3 -3
- package/signal/Goertzel.js.map +1 -1
- package/signal/InstFreq.d.ts +3 -3
- package/signal/InstFreq.js +1 -1
- package/signal/InstFreq.js.map +1 -1
- package/signal/PitchDetectionHarm.d.ts +4 -4
- package/signal/PitchDetectionHarm.js +6 -6
- package/signal/PitchDetectionHarm.js.map +1 -1
- package/signal/Resampling.d.ts +7 -0
- package/signal/Resampling.js +219 -0
- package/signal/Resampling.js.map +1 -0
- package/signal/WindowFunctions.d.ts +3 -3
- package/signal/WindowFunctions.js +1 -1
- package/signal/WindowFunctions.js.map +1 -1
- package/utils/ArrayUtils.d.ts +4 -3
- package/utils/ArrayUtils.js +14 -10
- package/utils/ArrayUtils.js.map +1 -1
- package/utils/MiscUtils.d.ts +5 -0
- package/utils/MiscUtils.js +5 -0
- package/utils/MiscUtils.js.map +1 -1
package/README.md
CHANGED
|
@@ -3,3 +3,22 @@
|
|
|
3
3
|
A collection of JavaScript modules for digital signal processing (written in TypeScript).
|
|
4
4
|
|
|
5
5
|
(This package is currently in development)
|
|
6
|
+
|
|
7
|
+
## Online test applications
|
|
8
|
+
|
|
9
|
+
* [Window functions test](https://www.source-code.biz/dsp/js/simpleTests/testWindowFunctions.html)
|
|
10
|
+
* [Signal analysis tests](https://www.source-code.biz/dsp/js/signalAnalysisTests)
|
|
11
|
+
|
|
12
|
+
## Associated online tools
|
|
13
|
+
|
|
14
|
+
* [HarmSyn - Harmonic synthesizer](https://www.source-code.biz/harmSyn)
|
|
15
|
+
* [KlattSyn - Klatt formant synthesizer](https://www.source-code.biz/klattSyn)
|
|
16
|
+
* [SinSyn - Sinusoidal synthesizer](https://www.source-code.biz/sinSyn)
|
|
17
|
+
* [SpecFilt - Spectral filter tool](https://www.source-code.biz/specFilt)
|
|
18
|
+
|
|
19
|
+
## Associated JavaScript packages
|
|
20
|
+
|
|
21
|
+
* [commons-math-interpolation - Interpolation and regression algorithms](https://github.com/chdh/commons-math-interpolation)
|
|
22
|
+
* [Function curve editor widget](https://www.source-code.biz/snippets/typescript/functionCurveEditor)
|
|
23
|
+
* [Function curve viewer widget](https://www.source-code.biz/snippets/typescript/functionCurveViewer)
|
|
24
|
+
* [WAV file encoder](https://github.com/chdh/wav-file-encoder)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const enum FilterType {
|
|
2
|
+
lowPass = "LP",
|
|
3
|
+
highPass = "HP",
|
|
4
|
+
bandPass = "BP",
|
|
5
|
+
bandStop = "BS"
|
|
6
|
+
}
|
|
7
|
+
export declare type FilterCurveFunction = (frequency: number) => number;
|
|
8
|
+
export declare function getFilterCurveFunction(filterType: FilterType, filterFreq1: number, filterFreq2: number, smoothingWidth: number): FilterCurveFunction;
|
|
9
|
+
export declare function applyFilterCurveFunction(inAmplitudes: ArrayLike<number>, scalingFactor: number, filterCurveFunction: FilterCurveFunction): Float64Array;
|
|
10
|
+
export declare function filterSignal(inSamples: ArrayLike<number>, sampleRate: number, filterType: FilterType, filterFreq1: number, filterFreq2: number, smoothingWidth: number): Float64Array;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import ComplexArray from "../math/ComplexArray.js";
|
|
2
|
+
import * as Fft from "../signal/Fft.js";
|
|
3
|
+
function smoothingFunction(x) {
|
|
4
|
+
return (Math.sin(x * Math.PI / 2) + 1) / 2;
|
|
5
|
+
}
|
|
6
|
+
export function getFilterCurveFunction(filterType, filterFreq1, filterFreq2, smoothingWidth) {
|
|
7
|
+
switch (filterType) {
|
|
8
|
+
case "LP": {
|
|
9
|
+
return (freq) => {
|
|
10
|
+
if (freq < filterFreq1 - smoothingWidth) {
|
|
11
|
+
return 1;
|
|
12
|
+
}
|
|
13
|
+
else if (freq < filterFreq1 + smoothingWidth) {
|
|
14
|
+
return smoothingFunction((filterFreq1 - freq) / smoothingWidth);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
case "HP": {
|
|
22
|
+
return (freq) => {
|
|
23
|
+
if (freq < filterFreq1 - smoothingWidth) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
else if (freq < filterFreq1 + smoothingWidth) {
|
|
27
|
+
return smoothingFunction((freq - filterFreq1) / smoothingWidth);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return 1;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
case "BP": {
|
|
35
|
+
return (freq) => {
|
|
36
|
+
if (freq < filterFreq1 - smoothingWidth) {
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
else if (freq < filterFreq1 + smoothingWidth) {
|
|
40
|
+
return smoothingFunction((freq - filterFreq1) / smoothingWidth);
|
|
41
|
+
}
|
|
42
|
+
else if (freq < filterFreq2 - smoothingWidth) {
|
|
43
|
+
return 1;
|
|
44
|
+
}
|
|
45
|
+
else if (freq < filterFreq2 + smoothingWidth) {
|
|
46
|
+
return smoothingFunction((filterFreq2 - freq) / smoothingWidth);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
case "BS": {
|
|
54
|
+
return (freq) => {
|
|
55
|
+
if (freq < filterFreq1 - smoothingWidth) {
|
|
56
|
+
return 1;
|
|
57
|
+
}
|
|
58
|
+
else if (freq < filterFreq1 + smoothingWidth) {
|
|
59
|
+
return smoothingFunction((filterFreq1 - freq) / smoothingWidth);
|
|
60
|
+
}
|
|
61
|
+
else if (freq < filterFreq2 - smoothingWidth) {
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
else if (freq < filterFreq2 + smoothingWidth) {
|
|
65
|
+
return smoothingFunction((freq - filterFreq2) / smoothingWidth);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return 1;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
default: {
|
|
73
|
+
throw new Error("Unsupported filter type.");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function applyFilterCurveFunction(inAmplitudes, scalingFactor, filterCurveFunction) {
|
|
78
|
+
const n = inAmplitudes.length;
|
|
79
|
+
const outAmplitudes = new Float64Array(n);
|
|
80
|
+
for (let p = 0; p < n; p++) {
|
|
81
|
+
const frequency = p / scalingFactor;
|
|
82
|
+
const filterFactor = filterCurveFunction(frequency);
|
|
83
|
+
outAmplitudes[p] = filterFactor * inAmplitudes[p];
|
|
84
|
+
}
|
|
85
|
+
return outAmplitudes;
|
|
86
|
+
}
|
|
87
|
+
export function filterSignal(inSamples, sampleRate, filterType, filterFreq1, filterFreq2, smoothingWidth) {
|
|
88
|
+
const n = inSamples.length;
|
|
89
|
+
const inSpectrum = Fft.fftRealSpectrum(inSamples);
|
|
90
|
+
const inAmplitudes = inSpectrum.getAbsArray();
|
|
91
|
+
const inPhases = inSpectrum.getArgArray();
|
|
92
|
+
const filterCurveFunction = getFilterCurveFunction(filterType, filterFreq1, filterFreq2, smoothingWidth);
|
|
93
|
+
const outAmplitudes = applyFilterCurveFunction(inAmplitudes, n / sampleRate, filterCurveFunction);
|
|
94
|
+
const outPhases = inPhases;
|
|
95
|
+
const outSpectrum = ComplexArray.fromPolar(outAmplitudes, outPhases);
|
|
96
|
+
const outSignal = Fft.iFftRealHalf(outSpectrum, n);
|
|
97
|
+
return outSignal;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=SpecFilt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecFilt.js","sourceRoot":"","sources":["../../src/filter/SpecFilt.ts"],"names":[],"mappings":"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"}
|
package/math/Complex.js
CHANGED
package/math/Complex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Complex.js","sourceRoot":"","sources":["../../src/math/Complex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"Complex.js","sourceRoot":"","sources":["../../src/math/Complex.ts"],"names":[],"mappings":"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"}
|
package/math/ComplexArray.d.ts
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import Complex from "./Complex";
|
|
2
|
-
import MutableComplex from "./MutableComplex";
|
|
1
|
+
import Complex from "./Complex.js";
|
|
2
|
+
import MutableComplex from "./MutableComplex.js";
|
|
3
3
|
export default class ComplexArray {
|
|
4
4
|
re: Float64Array;
|
|
5
5
|
im: Float64Array;
|
|
6
6
|
length: number;
|
|
7
|
-
constructor(x?: number | Complex[] |
|
|
7
|
+
constructor(x?: number | Complex[] | ArrayLike<number>);
|
|
8
8
|
private constructByLength;
|
|
9
|
-
private constructByFloat64Array;
|
|
10
9
|
private constructByArrayOfComplex;
|
|
10
|
+
private constructByArrayOfNumber;
|
|
11
|
+
static fromPolar(absArray: ArrayLike<number>, argArray: ArrayLike<number>): ComplexArray;
|
|
11
12
|
slice(begin?: number, end?: number): ComplexArray;
|
|
12
13
|
subarray(begin: number, end: number): ComplexArray;
|
|
13
14
|
set(i: number, c: Complex): void;
|
|
14
15
|
setReIm(i: number, re: number, im: number): void;
|
|
16
|
+
setPolar(i: number, abs: number, arg: number): void;
|
|
15
17
|
static copy1(a1: ComplexArray, i1: number, a2: ComplexArray, i2: number): void;
|
|
16
|
-
toString(): string;
|
|
17
18
|
get(i: number): MutableComplex;
|
|
18
19
|
getAbs(i: number): number;
|
|
19
20
|
getArg(i: number): number;
|
|
21
|
+
toString(): string;
|
|
22
|
+
getAbsArray(): Float64Array;
|
|
23
|
+
getArgArray(): Float64Array;
|
|
20
24
|
addRealTo(i: number, x: number): void;
|
|
21
25
|
addTo(i: number, x: Complex): void;
|
|
22
26
|
subRealFrom(i: number, x: number): void;
|
package/math/ComplexArray.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import Complex from "./Complex";
|
|
2
|
-
import MutableComplex from "./MutableComplex";
|
|
1
|
+
import Complex from "./Complex.js";
|
|
2
|
+
import MutableComplex from "./MutableComplex.js";
|
|
3
|
+
import { assert } from "../utils/MiscUtils.js";
|
|
3
4
|
const emptyFloat64Array = new Float64Array(0);
|
|
4
5
|
export default class ComplexArray {
|
|
5
6
|
constructor(x = 0) {
|
|
6
7
|
if (typeof x == "number") {
|
|
7
8
|
this.constructByLength(x);
|
|
8
9
|
}
|
|
9
|
-
else if (x instanceof
|
|
10
|
-
this.constructByFloat64Array(x);
|
|
11
|
-
}
|
|
12
|
-
else if (x instanceof Array && x[0] instanceof Complex) {
|
|
10
|
+
else if (Array.isArray(x) && x[0] instanceof Complex) {
|
|
13
11
|
this.constructByArrayOfComplex(x);
|
|
14
12
|
}
|
|
13
|
+
else if (x instanceof Object && x.length !== undefined) {
|
|
14
|
+
this.constructByArrayOfNumber(x);
|
|
15
|
+
}
|
|
15
16
|
else {
|
|
16
17
|
throw new Error("Invalid constructor argument.");
|
|
17
18
|
}
|
|
@@ -27,11 +28,6 @@ export default class ComplexArray {
|
|
|
27
28
|
this.im = emptyFloat64Array;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
constructByFloat64Array(a) {
|
|
31
|
-
this.length = a.length;
|
|
32
|
-
this.re = a.slice();
|
|
33
|
-
this.im = new Float64Array(a.length);
|
|
34
|
-
}
|
|
35
31
|
constructByArrayOfComplex(a) {
|
|
36
32
|
this.length = a.length;
|
|
37
33
|
this.re = new Float64Array(a.length);
|
|
@@ -41,6 +37,20 @@ export default class ComplexArray {
|
|
|
41
37
|
this.im[i] = a[i].im;
|
|
42
38
|
}
|
|
43
39
|
}
|
|
40
|
+
constructByArrayOfNumber(a) {
|
|
41
|
+
this.length = a.length;
|
|
42
|
+
this.re = new Float64Array(a);
|
|
43
|
+
this.im = new Float64Array(a.length);
|
|
44
|
+
}
|
|
45
|
+
static fromPolar(absArray, argArray) {
|
|
46
|
+
const n = absArray.length;
|
|
47
|
+
assert(n == argArray.length);
|
|
48
|
+
const a = new ComplexArray(n);
|
|
49
|
+
for (let i = 0; i < n; i++) {
|
|
50
|
+
a.setPolar(i, absArray[i], argArray[i]);
|
|
51
|
+
}
|
|
52
|
+
return a;
|
|
53
|
+
}
|
|
44
54
|
slice(begin, end) {
|
|
45
55
|
const a2 = new ComplexArray();
|
|
46
56
|
a2.re = this.re.slice(begin, end);
|
|
@@ -63,10 +73,23 @@ export default class ComplexArray {
|
|
|
63
73
|
this.re[i] = re;
|
|
64
74
|
this.im[i] = im;
|
|
65
75
|
}
|
|
76
|
+
setPolar(i, abs, arg) {
|
|
77
|
+
this.re[i] = abs * Math.cos(arg);
|
|
78
|
+
this.im[i] = abs * Math.sin(arg);
|
|
79
|
+
}
|
|
66
80
|
static copy1(a1, i1, a2, i2) {
|
|
67
81
|
a2.re[i2] = a1.re[i1];
|
|
68
82
|
a2.im[i2] = a1.im[i1];
|
|
69
83
|
}
|
|
84
|
+
get(i) {
|
|
85
|
+
return new MutableComplex(this.re[i], this.im[i]);
|
|
86
|
+
}
|
|
87
|
+
getAbs(i) {
|
|
88
|
+
return Math.hypot(this.re[i], this.im[i]);
|
|
89
|
+
}
|
|
90
|
+
getArg(i) {
|
|
91
|
+
return Math.atan2(this.im[i], this.re[i]);
|
|
92
|
+
}
|
|
70
93
|
toString() {
|
|
71
94
|
let s = "[";
|
|
72
95
|
for (let i = 0; i < this.length; i++) {
|
|
@@ -78,14 +101,21 @@ export default class ComplexArray {
|
|
|
78
101
|
s += "]";
|
|
79
102
|
return s;
|
|
80
103
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
104
|
+
getAbsArray() {
|
|
105
|
+
const n = this.length;
|
|
106
|
+
const a = new Float64Array(n);
|
|
107
|
+
for (let i = 0; i < n; i++) {
|
|
108
|
+
a[i] = this.getAbs(i);
|
|
109
|
+
}
|
|
110
|
+
return a;
|
|
86
111
|
}
|
|
87
|
-
|
|
88
|
-
|
|
112
|
+
getArgArray() {
|
|
113
|
+
const n = this.length;
|
|
114
|
+
const a = new Float64Array(n);
|
|
115
|
+
for (let i = 0; i < n; i++) {
|
|
116
|
+
a[i] = this.getArg(i);
|
|
117
|
+
}
|
|
118
|
+
return a;
|
|
89
119
|
}
|
|
90
120
|
addRealTo(i, x) {
|
|
91
121
|
this.re[i] += x;
|
|
@@ -117,9 +147,7 @@ export default class ComplexArray {
|
|
|
117
147
|
}
|
|
118
148
|
mulByArray(a2) {
|
|
119
149
|
const n = this.length;
|
|
120
|
-
|
|
121
|
-
throw new Error("Array sizes are not equal.");
|
|
122
|
-
}
|
|
150
|
+
assert(a2.length == n);
|
|
123
151
|
for (let i = 0; i < n; i++) {
|
|
124
152
|
this.setMul(i, this.re[i], this.im[i], a2.re[i], a2.im[i]);
|
|
125
153
|
}
|
package/math/ComplexArray.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplexArray.js","sourceRoot":"","sources":["../../src/math/ComplexArray.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"ComplexArray.js","sourceRoot":"","sources":["../../src/math/ComplexArray.ts"],"names":[],"mappings":"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"}
|
package/math/MathUtils.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export declare function fuzzyEquals(a: number, b: number, eps: number): boolean;
|
|
|
2
2
|
export declare function isFuzzyInteger(i: number, eps: number): boolean;
|
|
3
3
|
export declare function isPowerOf2(i: number): boolean;
|
|
4
4
|
export declare function getNextPowerOf2(x: number): number;
|
|
5
|
+
export declare function floorLog2(x: number): number;
|
|
5
6
|
export declare function hyperbolicDecline(t: number, a: number, b: number): number;
|
|
6
|
-
export declare function movingAverage(a:
|
|
7
|
+
export declare function movingAverage(a: ArrayLike<number>, windowWidth: number): Float64Array;
|
package/math/MathUtils.js
CHANGED
|
@@ -31,6 +31,12 @@ export function getNextPowerOf2(x) {
|
|
|
31
31
|
}
|
|
32
32
|
return n;
|
|
33
33
|
}
|
|
34
|
+
export function floorLog2(x) {
|
|
35
|
+
if (x > 0x7FFFFFFF || x < 1) {
|
|
36
|
+
throw new Error("Argument is not a valid integer.");
|
|
37
|
+
}
|
|
38
|
+
return 31 - Math.clz32(x);
|
|
39
|
+
}
|
|
34
40
|
export function hyperbolicDecline(t, a, b) {
|
|
35
41
|
switch (b) {
|
|
36
42
|
case 1: {
|
package/math/MathUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MathUtils.js","sourceRoot":"","sources":["../../src/math/MathUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAE,CAAS,EAAE,CAAS,EAAE,GAAW;IAC3D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC/B,OAAO,KAAK,CAAC;KAAE;IAClB,IAAI,CAAC,IAAI,CAAC,EAAE;QACT,OAAO,IAAI,CAAC;KAAE;IACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,IAAI,GAAG,EAAE;QACd,OAAO,IAAI,CAAC;KAAE;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC;AAAC,CAAC;AAE9B,MAAM,UAAU,cAAc,CAAE,CAAS,EAAE,GAAW;IACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAAC,CAAC;AAK/C,MAAM,UAAU,UAAU,CAAE,CAAS;IAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE;QACtD,OAAO,KAAK,CAAC;KAAE;IAClB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAAC,CAAC;AAK/B,MAAM,UAAU,eAAe,CAAE,CAAS;IACvC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACf,OAAO,GAAG,CAAC;KAAE;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,CAAC,EAAE;QACZ,CAAC,IAAI,CAAC,CAAC;KAAE;IACZ,OAAO,CAAC,CAAC;AAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MathUtils.js","sourceRoot":"","sources":["../../src/math/MathUtils.ts"],"names":[],"mappings":"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"}
|
package/math/MutableComplex.d.ts
CHANGED
package/math/MutableComplex.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutableComplex.js","sourceRoot":"","sources":["../../src/math/MutableComplex.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"MutableComplex.js","sourceRoot":"","sources":["../../src/math/MutableComplex.ts"],"names":[],"mappings":"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"}
|
package/math/PolyReal.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import Complex from "./Complex";
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
1
|
+
import Complex from "./Complex.js";
|
|
2
|
+
export declare function evaluateReal(a: ArrayLike<number>, x: number): number;
|
|
3
|
+
export declare function evaluateComplex(a: ArrayLike<number>, x: Complex): Complex;
|
|
4
|
+
export declare function expand(zeros: ArrayLike<number>): Float64Array;
|
|
5
|
+
export declare function compareEqual(a1: ArrayLike<number>, a2: ArrayLike<number>, eps?: number): boolean;
|
|
6
|
+
export declare function add(a1: ArrayLike<number>, a2: ArrayLike<number>, eps?: number): Float64Array;
|
|
7
|
+
export declare function multiply(a1: ArrayLike<number>, a2: ArrayLike<number>, eps?: number): Float64Array;
|
|
8
|
+
export declare function divide(a1r: ArrayLike<number>, a2r: ArrayLike<number>, eps?: number): Float64Array[];
|
|
9
|
+
export declare function gcd(a1: ArrayLike<number>, a2: ArrayLike<number>, eps?: number): Float64Array;
|
|
10
|
+
export declare function evaluateFractionComplex(f: ArrayLike<number>[], x: Complex): Complex;
|
|
11
|
+
export declare function addFractions(f1: ArrayLike<number>[], f2: ArrayLike<number>[], eps?: number): Float64Array[];
|
|
12
|
+
export declare function multiplyFractions(f1: ArrayLike<number>[], f2: ArrayLike<number>[], eps?: number): Float64Array[];
|
|
13
|
+
export declare function normalizeFraction(f: ArrayLike<number>[], eps?: number): Float64Array[];
|