umt 1.0.9 → 1.0.11
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/.markdownlint.json +4 -1
- package/README.md +11 -4
- package/lib/.clang-format +200 -0
- package/lib/1.s +259 -0
- package/lib/Makefile +5 -0
- package/lib/index.cpp +10 -0
- package/lib/index.s +238 -0
- package/module/Array/arraysJoin.d.ts +1 -2
- package/module/Array/arraysJoin.js +2 -1
- package/module/Array/getArraysCommon.d.ts +6 -0
- package/module/Array/getArraysCommon.js +25 -0
- package/module/Array/getArraysDiff.d.ts +1 -2
- package/module/Array/getArraysDiff.js +15 -7
- package/module/Array/index.d.ts +16 -5
- package/module/Array/index.js +54 -11
- package/module/Array/quickSort.d.ts +1 -2
- package/module/Array/quickSort.js +4 -3
- package/module/Array/sum.d.ts +1 -0
- package/module/Array/sum.js +8 -0
- package/module/Compiler/core.d.ts +5 -0
- package/module/Compiler/core.js +19 -0
- package/module/Compiler/token.d.ts +10 -0
- package/module/Compiler/token.js +120 -0
- package/module/Date/index.d.ts +7 -1
- package/module/Date/index.js +26 -5
- package/module/Date/now.d.ts +5 -2
- package/module/Date/now.js +10 -3
- package/module/Math/addition.d.ts +2 -2
- package/module/Math/addition.js +8 -9
- package/module/Math/average.d.ts +2 -2
- package/module/Math/average.js +3 -1
- package/module/Math/calculator/core.d.ts +1 -5
- package/module/Math/calculator/core.js +76 -55
- package/module/Math/calculator/exchange.d.ts +1 -5
- package/module/Math/calculator/exchange.js +16 -12
- package/module/Math/calculator/index.d.ts +2 -5
- package/module/Math/calculator/index.js +13 -8
- package/module/Math/calculator/literalExpression.d.ts +2 -2
- package/module/Math/calculator/literalExpression.js +20 -13
- package/module/Math/degToRad.d.ts +2 -2
- package/module/Math/degToRad.js +3 -1
- package/module/Math/deviationValue.d.ts +8 -0
- package/module/Math/deviationValue.js +14 -0
- package/module/Math/division.d.ts +7 -2
- package/module/Math/division.js +20 -9
- package/module/Math/factorial.d.ts +2 -2
- package/module/Math/factorial.js +10 -4
- package/module/Math/factorize.d.ts +2 -2
- package/module/Math/factorize.js +3 -1
- package/module/Math/gcd.d.ts +2 -2
- package/module/Math/gcd.js +6 -7
- package/module/Math/getDecimalLength.d.ts +2 -2
- package/module/Math/getDecimalLength.js +3 -1
- package/module/Math/index.d.ts +94 -33
- package/module/Math/index.js +278 -67
- package/module/Math/isDouble.d.ts +3 -2
- package/module/Math/isDouble.js +4 -1
- package/module/Math/isNumber.d.ts +3 -3
- package/module/Math/isNumber.js +4 -2
- package/module/Math/isPrimeNumber.d.ts +2 -2
- package/module/Math/isPrimeNumber.js +5 -6
- package/module/Math/lcm.d.ts +2 -2
- package/module/Math/lcm.js +7 -8
- package/module/Math/mathConverter.d.ts +5 -0
- package/module/Math/mathConverter.js +48 -0
- package/module/Math/mathSeparator.d.ts +5 -0
- package/module/Math/mathSeparator.js +21 -0
- package/module/Math/max.d.ts +1 -2
- package/module/Math/max.js +3 -2
- package/module/Math/min.d.ts +1 -2
- package/module/Math/min.js +3 -2
- package/module/Math/multiples.d.ts +1 -2
- package/module/Math/multiples.js +2 -1
- package/module/Math/multiplication.d.ts +1 -2
- package/module/Math/multiplication.js +4 -6
- package/module/Math/nCr.d.ts +1 -2
- package/module/Math/nCr.js +4 -6
- package/module/Math/nHr.d.ts +1 -2
- package/module/Math/nHr.js +4 -6
- package/module/Math/nPr.d.ts +1 -2
- package/module/Math/nPr.js +2 -1
- package/module/Math/primeFactorization.d.ts +1 -2
- package/module/Math/primeFactorization.js +2 -1
- package/module/Math/quotient.d.ts +1 -2
- package/module/Math/quotient.js +2 -1
- package/module/Math/radToDeg.d.ts +1 -2
- package/module/Math/radToDeg.js +2 -1
- package/module/Math/random.d.ts +3 -2
- package/module/Math/random.js +5 -2
- package/module/Math/reduce.d.ts +1 -2
- package/module/Math/reduce.js +5 -7
- package/module/Math/repeatedTrial.d.ts +2 -2
- package/module/Math/repeatedTrial.js +7 -8
- package/module/Math/roundOff.d.ts +7 -0
- package/module/Math/roundOff.js +14 -0
- package/module/Math/softmax.d.ts +5 -0
- package/module/Math/softmax.js +40 -0
- package/module/Math/standardDeviation.d.ts +1 -2
- package/module/Math/standardDeviation.js +5 -7
- package/module/Math/subtract.d.ts +1 -2
- package/module/Math/subtract.js +9 -9
- package/module/Math/toBinary.d.ts +5 -2
- package/module/Math/toBinary.js +4 -4
- package/module/Math/toCelsius.d.ts +1 -2
- package/module/Math/toCelsius.js +4 -6
- package/module/Math/toKelvin.d.ts +1 -2
- package/module/Math/toKelvin.js +4 -6
- package/module/Math/valueSwap.d.ts +2 -2
- package/module/Math/valueSwap.js +3 -1
- package/module/Simple/Date/index.d.ts +5 -0
- package/module/Simple/Date/index.js +27 -0
- package/module/Simple/Date/now.d.ts +1 -0
- package/module/Simple/Date/now.js +17 -0
- package/module/Simple/Math/dayOfWeek.d.ts +6 -0
- package/module/Simple/Math/dayOfWeek.js +31 -0
- package/module/Simple/Math/deviationValue.d.ts +5 -0
- package/module/Simple/Math/deviationValue.js +14 -0
- package/module/Simple/Math/index.d.ts +10 -0
- package/module/Simple/Math/index.js +33 -0
- package/module/Simple/Tool/birthday.d.ts +9 -0
- package/module/Simple/Tool/birthday.js +26 -0
- package/module/Simple/Tool/index.d.ts +5 -0
- package/module/Simple/Tool/index.js +27 -0
- package/module/Simple/index.d.ts +11 -0
- package/module/Simple/index.js +40 -0
- package/module/Tool/birthday.d.ts +8 -2
- package/module/Tool/birthday.js +15 -10
- package/module/Tool/dayOfWeek.d.ts +5 -6
- package/module/Tool/dayOfWeek.js +12 -2
- package/module/Tool/index.d.ts +18 -3
- package/module/Tool/index.js +58 -9
- package/module/Tool/isBrowser.d.ts +1 -0
- package/module/Tool/isBrowser.js +4 -0
- package/module/Tool/isNode.d.ts +1 -0
- package/module/Tool/isNode.js +4 -0
- package/module/Tool/isNodeWebkit.d.ts +1 -0
- package/module/Tool/isNodeWebkit.js +6 -0
- package/module/Tool/pipeFunction.d.ts +1 -2
- package/module/Tool/pipeFunction.js +3 -2
- package/module/index.d.ts +10 -11
- package/module/index.js +49 -33
- package/module/tsconfig.tsbuildinfo +1 -1
- package/module/types/int.d.ts +4 -0
- package/module/{Math/value.js → types/int.js} +0 -2
- package/module/types/logicType.d.ts +8 -0
- package/module/types/logicType.js +2 -0
- package/module/types/monType.d.ts +4 -0
- package/module/types/monType.js +2 -0
- package/package.json +18 -18
- package/.env +0 -1
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/node.js.yml +0 -30
- package/module/Array/getArraysIntersect.d.ts +0 -7
- package/module/Array/getArraysIntersect.js +0 -15
- package/module/Math/euclideanAlgorithm.d.ts +0 -8
- package/module/Math/euclideanAlgorithm.js +0 -31
- package/module/Math/value.d.ts +0 -2
- package/sider.yml +0 -60
- package/test.js +0 -5
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.isPrimeNumber = void 0;
|
|
4
|
+
const division_1 = require("./division");
|
|
7
5
|
/**
|
|
8
6
|
* 素数判定
|
|
9
7
|
* @param {number} n
|
|
8
|
+
* @returns boolean
|
|
10
9
|
*/
|
|
11
10
|
const isPrimeNumber = (n) => {
|
|
12
11
|
if (n < 2)
|
|
@@ -16,10 +15,10 @@ const isPrimeNumber = (n) => {
|
|
|
16
15
|
else if (n % 2 == 0)
|
|
17
16
|
return false;
|
|
18
17
|
for (let i = 3; i <= Math.sqrt(n); i++) {
|
|
19
|
-
if ((0, division_1.
|
|
18
|
+
if ((0, division_1.division)(n, i, false)[1] == 0) {
|
|
20
19
|
return false;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
return true;
|
|
24
23
|
};
|
|
25
|
-
exports.
|
|
24
|
+
exports.isPrimeNumber = isPrimeNumber;
|
package/module/Math/lcm.d.ts
CHANGED
package/module/Math/lcm.js
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
3
|
+
exports.lcm = void 0;
|
|
4
|
+
const gcd_1 = require("./gcd");
|
|
5
|
+
const valueSwap_1 = require("./valueSwap");
|
|
8
6
|
/**
|
|
9
7
|
* 最小公倍数
|
|
10
8
|
* @param {number} x
|
|
11
9
|
* @param {number} y
|
|
10
|
+
* @returns number
|
|
12
11
|
*/
|
|
13
12
|
const lcm = (x, y) => {
|
|
14
13
|
if (x === 0 || y === 0) {
|
|
15
14
|
return 0;
|
|
16
15
|
}
|
|
17
|
-
[x, y] = (0, valueSwap_1.
|
|
18
|
-
return (x / (0, gcd_1.
|
|
16
|
+
[x, y] = (0, valueSwap_1.valueSwap)(x, y);
|
|
17
|
+
return (x / (0, gcd_1.gcd)(x, y)) * y;
|
|
19
18
|
};
|
|
20
|
-
exports.
|
|
19
|
+
exports.lcm = lcm;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mathConverter = void 0;
|
|
4
|
+
const mathSeparator_1 = require("./mathSeparator");
|
|
5
|
+
/**
|
|
6
|
+
* @param {string} x
|
|
7
|
+
* @returns string
|
|
8
|
+
*/
|
|
9
|
+
const mathConverter = (x) => {
|
|
10
|
+
while (true) {
|
|
11
|
+
if (x.indexOf('^') != -1 || x.indexOf('*') != -1) {
|
|
12
|
+
//掛け算と割り算の処理
|
|
13
|
+
const y = [
|
|
14
|
+
x.match(/\d+\.?(\d+)?(\*|\^)\d+\.?(\d+)?/),
|
|
15
|
+
[''],
|
|
16
|
+
];
|
|
17
|
+
if (y[0]) {
|
|
18
|
+
y[1] = y[0][0]
|
|
19
|
+
.split(/(\d+\.\d+)|(\d+)/g)
|
|
20
|
+
.filter((n) => {
|
|
21
|
+
return typeof n != 'undefined' && n != '';
|
|
22
|
+
});
|
|
23
|
+
if (y[1][0] == y[1][2] ||
|
|
24
|
+
(y[1][2] && y[1][1] == '^')) {
|
|
25
|
+
let [n, m] = (0, mathSeparator_1.mathSeparator)(y[1][0]);
|
|
26
|
+
if (n) {
|
|
27
|
+
x = `${Number(y[1][0]) + m}*${n}+`;
|
|
28
|
+
if (m <= 100) {
|
|
29
|
+
x += `${m}*${m}`;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return (x += (0, exports.mathConverter)(`${m}*${m}`));
|
|
33
|
+
}
|
|
34
|
+
return x;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return x;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return x;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return x;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.mathConverter = mathConverter;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mathSeparator = void 0;
|
|
4
|
+
const isNumber_1 = require("./isNumber");
|
|
5
|
+
/**
|
|
6
|
+
* @param {string|number} number
|
|
7
|
+
* @returns string
|
|
8
|
+
*/
|
|
9
|
+
const mathSeparator = (number) => {
|
|
10
|
+
if ((0, isNumber_1.isNumber)(number)) {
|
|
11
|
+
const [n, x] = typeof number === 'string'
|
|
12
|
+
? [number.length - 1, Number(number)]
|
|
13
|
+
: [String(number).length - 1, number];
|
|
14
|
+
if (n) {
|
|
15
|
+
return [Math.pow(10, n), x - Math.pow(10, n)];
|
|
16
|
+
}
|
|
17
|
+
return [0, 0];
|
|
18
|
+
}
|
|
19
|
+
return [0, 0];
|
|
20
|
+
};
|
|
21
|
+
exports.mathSeparator = mathSeparator;
|
package/module/Math/max.d.ts
CHANGED
package/module/Math/max.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.max = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* 最大値を返す
|
|
5
6
|
* @param {number[]} num
|
|
6
7
|
*/
|
|
7
|
-
const max = (num) => Math.max.apply(null, [...new Set(num)]);
|
|
8
|
-
exports.
|
|
8
|
+
const max = (...num) => Math.max.apply(null, [...new Set(num)]);
|
|
9
|
+
exports.max = max;
|
package/module/Math/min.d.ts
CHANGED
package/module/Math/min.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.min = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* 最小値を返す
|
|
5
6
|
* @param {number[]} num
|
|
6
7
|
*/
|
|
7
|
-
const min = (num) => Math.min.apply(null, [...new Set(num)]);
|
|
8
|
-
exports.
|
|
8
|
+
const min = (...num) => Math.min.apply(null, [...new Set(num)]);
|
|
9
|
+
exports.min = min;
|
package/module/Math/multiples.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.multiples = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* 倍数
|
|
5
6
|
* @param {number} x
|
|
@@ -12,4 +13,4 @@ const multiples = (x, n) => {
|
|
|
12
13
|
}
|
|
13
14
|
return result;
|
|
14
15
|
};
|
|
15
|
-
exports.
|
|
16
|
+
exports.multiples = multiples;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.multiplication = void 0;
|
|
4
|
+
const getDecimalLength_1 = require("./getDecimalLength");
|
|
7
5
|
/**
|
|
8
6
|
* 誤差のない掛け算
|
|
9
7
|
* @param {number} x
|
|
10
8
|
* @param {number} y
|
|
11
9
|
*/
|
|
12
10
|
const multiplication = (x, y) => {
|
|
13
|
-
const n = 10
|
|
11
|
+
const n = Math.pow(10, ((0, getDecimalLength_1.getDecimalLength)(x) + (0, getDecimalLength_1.getDecimalLength)(y)));
|
|
14
12
|
x = +(x + '').replace('.', '');
|
|
15
13
|
y = +(y + '').replace('.', '');
|
|
16
14
|
return (x * y) / n;
|
|
17
15
|
};
|
|
18
|
-
exports.
|
|
16
|
+
exports.multiplication = multiplication;
|
package/module/Math/nCr.d.ts
CHANGED
package/module/Math/nCr.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.nCr = void 0;
|
|
4
|
+
const nPr_1 = require("./nPr");
|
|
7
5
|
/**
|
|
8
6
|
* nCr
|
|
9
7
|
* @param {number} n
|
|
@@ -11,7 +9,7 @@ const nPr_1 = __importDefault(require("./nPr"));
|
|
|
11
9
|
*/
|
|
12
10
|
const nCr = (n, r) => {
|
|
13
11
|
//nCr
|
|
14
|
-
let y = (0, nPr_1.
|
|
12
|
+
let y = (0, nPr_1.nPr)(n, r);
|
|
15
13
|
let age = 1;
|
|
16
14
|
for (let i = 2; i <= r; i++) {
|
|
17
15
|
age *= i;
|
|
@@ -21,4 +19,4 @@ const nCr = (n, r) => {
|
|
|
21
19
|
return 0;
|
|
22
20
|
return y;
|
|
23
21
|
};
|
|
24
|
-
exports.
|
|
22
|
+
exports.nCr = nCr;
|
package/module/Math/nHr.d.ts
CHANGED
package/module/Math/nHr.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.nHr = void 0;
|
|
4
|
+
const nCr_1 = require("./nCr");
|
|
7
5
|
/**
|
|
8
6
|
* 重複を許して取り出す
|
|
9
7
|
* @param {number} n
|
|
@@ -13,9 +11,9 @@ const nHr = (n, r) => {
|
|
|
13
11
|
if (n === 0 || r === 0) {
|
|
14
12
|
return NaN;
|
|
15
13
|
}
|
|
16
|
-
const y = (0, nCr_1.
|
|
14
|
+
const y = (0, nCr_1.nCr)(n + r - 1, r);
|
|
17
15
|
if (1 > y)
|
|
18
16
|
return 0;
|
|
19
17
|
return y;
|
|
20
18
|
};
|
|
21
|
-
exports.
|
|
19
|
+
exports.nHr = nHr;
|
package/module/Math/nPr.d.ts
CHANGED
package/module/Math/nPr.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nPr = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* nPr
|
|
5
6
|
* @param {number} n
|
|
@@ -33,4 +34,4 @@ const nPr = (n, r) => {
|
|
|
33
34
|
return 0;
|
|
34
35
|
return y;
|
|
35
36
|
};
|
|
36
|
-
exports.
|
|
37
|
+
exports.nPr = nPr;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.primeFactorization = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* 素因数分解
|
|
5
6
|
* @param {number} x
|
|
@@ -19,4 +20,4 @@ const primeFactorization = (x) => {
|
|
|
19
20
|
}
|
|
20
21
|
return out;
|
|
21
22
|
};
|
|
22
|
-
exports.
|
|
23
|
+
exports.primeFactorization = primeFactorization;
|
package/module/Math/quotient.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.quotient = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* あまりの割り算
|
|
5
6
|
* @param {number} x
|
|
@@ -9,4 +10,4 @@ const quotient = (x, y) => [
|
|
|
9
10
|
(x - (x % y)) / y,
|
|
10
11
|
(x % y) + 0,
|
|
11
12
|
];
|
|
12
|
-
exports.
|
|
13
|
+
exports.quotient = quotient;
|
package/module/Math/radToDeg.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.radToDeg = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* ラジアンを角度に変換
|
|
5
6
|
* @param {number} x
|
|
6
7
|
*/
|
|
7
8
|
const radToDeg = (x) => x / (Math.PI / 180);
|
|
8
|
-
exports.
|
|
9
|
+
exports.radToDeg = radToDeg;
|
package/module/Math/random.d.ts
CHANGED
package/module/Math/random.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.random = void 0;
|
|
3
4
|
/**
|
|
4
5
|
* 整数の乱数
|
|
5
6
|
* @param {number} num
|
|
7
|
+
* @param {number} min 最小値
|
|
8
|
+
* @return {number}
|
|
6
9
|
*/
|
|
7
|
-
const random = (num) => Math.floor(Math.random() * (num || 1));
|
|
8
|
-
exports.
|
|
10
|
+
const random = (num, min = 0) => Math.floor(Math.random() * ((num || 1) - min) + min);
|
|
11
|
+
exports.random = random;
|
package/module/Math/reduce.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param {number} x
|
|
4
4
|
* @param {number} y
|
|
5
5
|
*/
|
|
6
|
-
declare const reduce: (x: number, y: number) => {
|
|
6
|
+
export declare const reduce: (x: number, y: number) => {
|
|
7
7
|
x: number;
|
|
8
8
|
y: number;
|
|
9
9
|
gcd?: undefined;
|
|
@@ -12,4 +12,3 @@ declare const reduce: (x: number, y: number) => {
|
|
|
12
12
|
y: number;
|
|
13
13
|
gcd: number;
|
|
14
14
|
};
|
|
15
|
-
export default reduce;
|
package/module/Math/reduce.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.reduce = void 0;
|
|
4
|
+
const gcd_1 = require("./gcd");
|
|
7
5
|
/**
|
|
8
6
|
* 約分
|
|
9
7
|
* @param {number} x
|
|
@@ -13,7 +11,7 @@ const reduce = (x, y) => {
|
|
|
13
11
|
if (x === 0 || y === 0) {
|
|
14
12
|
return { x: NaN, y: NaN };
|
|
15
13
|
}
|
|
16
|
-
let n = (0, gcd_1.
|
|
17
|
-
return { x: x / n, y: y / n, gcd: (0, gcd_1.
|
|
14
|
+
let n = (0, gcd_1.gcd)(x, y);
|
|
15
|
+
return { x: x / n, y: y / n, gcd: (0, gcd_1.gcd)(x, y) };
|
|
18
16
|
};
|
|
19
|
-
exports.
|
|
17
|
+
exports.reduce = reduce;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* @param {number} n
|
|
4
4
|
* @param {number} r
|
|
5
5
|
* @param {{x:number;y:number}} p
|
|
6
|
+
* @return {number[]}
|
|
6
7
|
*/
|
|
7
|
-
declare const repeatedTrial: (n: number, r: number, p: {
|
|
8
|
+
export declare const repeatedTrial: (n: number, r: number, p: {
|
|
8
9
|
x: number;
|
|
9
10
|
y: number;
|
|
10
11
|
}) => number[];
|
|
11
|
-
export default repeatedTrial;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const
|
|
3
|
+
exports.repeatedTrial = void 0;
|
|
4
|
+
const gcd_1 = require("./gcd");
|
|
5
|
+
const nCr_1 = require("./nCr");
|
|
8
6
|
/**
|
|
9
7
|
* 反復的な思考
|
|
10
8
|
* @param {number} n
|
|
11
9
|
* @param {number} r
|
|
12
10
|
* @param {{x:number;y:number}} p
|
|
11
|
+
* @return {number[]}
|
|
13
12
|
*/
|
|
14
13
|
const repeatedTrial = (n, r, p) => {
|
|
15
|
-
let x = (0, nCr_1.
|
|
14
|
+
let x = (0, nCr_1.nCr)(n, r);
|
|
16
15
|
let answer1 = x * Math.pow(p.x, r) * Math.pow(p.y - p.x, n - r);
|
|
17
16
|
let answer2 = Math.pow(p.y, r) * Math.pow(p.y, n - r);
|
|
18
|
-
let greatest_common_divisor = (0, gcd_1.
|
|
17
|
+
let greatest_common_divisor = (0, gcd_1.gcd)(answer1, answer2);
|
|
19
18
|
return [
|
|
20
19
|
answer1 / greatest_common_divisor,
|
|
21
20
|
answer2 / greatest_common_divisor,
|
|
22
21
|
];
|
|
23
22
|
};
|
|
24
|
-
exports.
|
|
23
|
+
exports.repeatedTrial = repeatedTrial;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.roundOf = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 四捨五入
|
|
6
|
+
* @param {number} num - 四捨五入する数値
|
|
7
|
+
* @param {number} precision - 四捨五入する桁数
|
|
8
|
+
* @returns number
|
|
9
|
+
*/
|
|
10
|
+
const roundOf = (num, precision) => {
|
|
11
|
+
return (Math.round(num * Math.pow(10, precision)) /
|
|
12
|
+
Math.pow(10, precision));
|
|
13
|
+
};
|
|
14
|
+
exports.roundOf = roundOf;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.softmax = void 0;
|
|
27
|
+
const ArraySum = __importStar(require("../Array/sum"));
|
|
28
|
+
const division_1 = require("./division");
|
|
29
|
+
const roundOff_1 = require("./roundOff");
|
|
30
|
+
/**
|
|
31
|
+
* @param {number[]} x
|
|
32
|
+
* @return {number[]}
|
|
33
|
+
*/
|
|
34
|
+
const softmax = (x) => {
|
|
35
|
+
const max = Math.max(...x);
|
|
36
|
+
const exp = x.map((i) => Math.exp(i - max));
|
|
37
|
+
const sum = ArraySum.sum(exp);
|
|
38
|
+
return exp.map((i) => (0, roundOff_1.roundOf)((0, division_1.division)(i, sum), 3));
|
|
39
|
+
};
|
|
40
|
+
exports.softmax = softmax;
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
3
|
+
exports.standardDeviation = void 0;
|
|
4
|
+
const average_1 = require("./average");
|
|
7
5
|
/**
|
|
8
6
|
* 標準偏差
|
|
9
7
|
* @param {number[]} values
|
|
10
8
|
*/
|
|
11
9
|
const standardDeviation = (values) => {
|
|
12
|
-
const avg = (0, average_1.
|
|
10
|
+
const avg = (0, average_1.average)(values);
|
|
13
11
|
const squareDiffs = values.map((value) => {
|
|
14
12
|
const diff = value - avg;
|
|
15
13
|
const sqrDiff = diff * diff;
|
|
16
14
|
return sqrDiff;
|
|
17
15
|
});
|
|
18
|
-
const avgSquareDiff = (0, average_1.
|
|
16
|
+
const avgSquareDiff = (0, average_1.average)(squareDiffs);
|
|
19
17
|
const stdDev = Math.sqrt(avgSquareDiff);
|
|
20
18
|
return stdDev;
|
|
21
19
|
};
|
|
22
|
-
exports.
|
|
20
|
+
exports.standardDeviation = standardDeviation;
|