umt 1.1.7 → 1.2.0
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/module/Advance/index.d.ts +1 -0
- package/module/Advance/rangeAdvance.d.ts +9 -0
- package/module/Array/checkFlagAlignment.d.ts +3 -0
- package/module/Array/checkFlagAlignment.js +26 -0
- package/module/Array/checkFlagAlignment.js.map +1 -0
- package/module/Date/index.d.ts +2 -3
- package/module/Math/calculator/convertCurrency.js +4 -4
- package/module/Math/calculator/convertCurrency.js.map +1 -1
- package/module/Math/calculator/core.js +66 -40
- package/module/Math/calculator/core.js.map +1 -1
- package/module/Math/calculator/index.d.ts +5 -6
- package/module/Math/calculator/literalExpression.d.ts +3 -2
- package/module/Math/calculator/literalExpression.js +42 -36
- package/module/Math/calculator/literalExpression.js.map +1 -1
- package/module/Math/gcd.d.ts +1 -1
- package/module/Math/gcd.js +7 -8
- package/module/Math/gcd.js.map +1 -1
- package/module/Math/index.d.ts +39 -40
- package/module/Math/isDouble.d.ts +1 -0
- package/module/Math/isDouble.js +3 -4
- package/module/Math/isDouble.js.map +1 -1
- package/module/Math/mathConverter.d.ts +7 -3
- package/module/Math/mathConverter.js +28 -27
- package/module/Math/mathConverter.js.map +1 -1
- package/module/Math/mathSeparator.d.ts +6 -1
- package/module/Math/mathSeparator.js +20 -6
- package/module/Math/mathSeparator.js.map +1 -1
- package/module/Math/nCr.d.ts +4 -3
- package/module/Math/nCr.js +12 -12
- package/module/Math/nCr.js.map +1 -1
- package/module/Math/nHr.d.ts +4 -3
- package/module/Math/nHr.js +8 -10
- package/module/Math/nHr.js.map +1 -1
- package/module/Math/nPr.d.ts +4 -3
- package/module/Math/nPr.js +10 -30
- package/module/Math/nPr.js.map +1 -1
- package/module/Simple/Date/index.d.ts +1 -2
- package/module/Simple/Tool/dayOfWeekSimple.d.ts +2 -2
- package/module/Simple/Tool/index.d.ts +3 -4
- package/module/Simple/index.d.ts +4 -5
- package/module/Tool/dayOfWeek.d.ts +1 -1
- package/module/Tool/index.d.ts +10 -11
- package/module/index.d.ts +1 -0
- package/module/tests/Advance/rangeAdvance.test.d.ts +1 -0
- package/module/tests/Array/checkFlagAlignment.test.d.ts +1 -0
- package/module/tests/Array/checkFlagAlignment.test.js +130 -0
- package/module/tests/Array/checkFlagAlignment.test.js.map +1 -0
- package/module/tests/Math/calculator/calculator.test.js +60 -13
- package/module/tests/Math/calculator/calculator.test.js.map +1 -1
- package/module/tests/Math/calculator/convertCurrency.test.js +21 -13
- package/module/tests/Math/calculator/convertCurrency.test.js.map +1 -1
- package/module/tests/Math/calculator/literalExpression.test.js +41 -7
- package/module/tests/Math/calculator/literalExpression.test.js.map +1 -1
- package/module/tests/Math/gcd.test.js +22 -11
- package/module/tests/Math/gcd.test.js.map +1 -1
- package/module/tests/Math/lcm.test.js +17 -6
- package/module/tests/Math/lcm.test.js.map +1 -1
- package/module/tests/Math/mathConverter.test.js +23 -4
- package/module/tests/Math/mathConverter.test.js.map +1 -1
- package/module/tests/Math/mathSeparator.test.js +33 -7
- package/module/tests/Math/mathSeparator.test.js.map +1 -1
- package/module/tests/Math/nCr.test.js +16 -5
- package/module/tests/Math/nCr.test.js.map +1 -1
- package/module/tests/Math/nHr.test.js +17 -4
- package/module/tests/Math/nHr.test.js.map +1 -1
- package/module/tests/Math/nPr.test.js +16 -9
- package/module/tests/Math/nPr.test.js.map +1 -1
- package/module/tests/Tool/deleteSpace.test.d.ts +1 -0
- package/module/tests/Tool/deleteSpace.test.js +34 -0
- package/module/tests/Tool/deleteSpace.test.js.map +1 -0
- package/module/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -13
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
import { mathSeparator } from "./mathSeparator";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* nの2乗を展開します。
|
|
4
|
+
*
|
|
5
|
+
* 1250*1250 => 1500*1000+400*100+200*100+50*50
|
|
6
|
+
*
|
|
7
|
+
* @param {string} equation - 変換する数学的な式
|
|
8
|
+
* @returns {string} 変換後の式
|
|
5
9
|
*/
|
|
6
|
-
export const mathConverter = (
|
|
7
|
-
let
|
|
10
|
+
export const mathConverter = (equation) => {
|
|
11
|
+
let convertedEquation = equation;
|
|
8
12
|
while (true) {
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
+
if (convertedEquation.includes("^") || convertedEquation.includes("*")) {
|
|
14
|
+
// 乗算と累乗の処理
|
|
15
|
+
const extractedData = [
|
|
16
|
+
convertedEquation.match(/\d+\.?(\d+)?(\*|\^)\d+\.?(\d+)?/),
|
|
13
17
|
[""],
|
|
14
18
|
];
|
|
15
|
-
if (
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
if (extractedData[0]) {
|
|
20
|
+
extractedData[1] = extractedData[0][0]
|
|
21
|
+
.split(/(\d+\.\d+)|(\d+)/g)
|
|
22
|
+
.filter((number_) => {
|
|
23
|
+
return number_ !== undefined && number_ !== "";
|
|
18
24
|
});
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
if (extractedData[1][0] === extractedData[1][2] ||
|
|
26
|
+
(extractedData[1][2] && extractedData[1][1] === "^")) {
|
|
27
|
+
const [primary, remainder] = mathSeparator(extractedData[1][0]);
|
|
28
|
+
if (primary) {
|
|
29
|
+
convertedEquation = `${Number(extractedData[1][0]) + remainder}*${primary}+`;
|
|
30
|
+
if (remainder <= 100) {
|
|
31
|
+
convertedEquation += `${remainder}*${remainder}`;
|
|
25
32
|
}
|
|
26
33
|
else {
|
|
27
|
-
|
|
28
|
-
return
|
|
34
|
+
convertedEquation += mathConverter(`${remainder}*${remainder}`);
|
|
35
|
+
return convertedEquation;
|
|
29
36
|
}
|
|
30
|
-
return
|
|
37
|
+
return convertedEquation;
|
|
31
38
|
}
|
|
32
39
|
}
|
|
33
|
-
return returnValue;
|
|
34
40
|
}
|
|
35
|
-
else {
|
|
36
|
-
return returnValue;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return returnValue;
|
|
41
41
|
}
|
|
42
|
+
return convertedEquation;
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
45
|
//# sourceMappingURL=mathConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathConverter.js","sourceRoot":"","sources":["../../src/Math/mathConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"mathConverter.js","sourceRoot":"","sources":["../../src/Math/mathConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAU,EAAE;IACxD,IAAI,iBAAiB,GAAG,QAAQ,CAAC;IAEjC,OAAO,IAAI,EAAE;QACX,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtE,WAAW;YACX,MAAM,aAAa,GAAwC;gBACzD,iBAAiB,CAAC,KAAK,CAAC,iCAAiC,CAAC;gBAC1D,CAAC,EAAE,CAAC;aACL,CAAC;YAEF,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBACpB,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnC,KAAK,CAAC,mBAAmB,CAAC;qBAC1B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAClB,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC;gBACjD,CAAC,CAAC,CAAC;gBAEL,IACE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EACpD;oBACA,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEhE,IAAI,OAAO,EAAE;wBACX,iBAAiB,GAAG,GAClB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAChC,IAAI,OAAO,GAAG,CAAC;wBAEf,IAAI,SAAS,IAAI,GAAG,EAAE;4BACpB,iBAAiB,IAAI,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;yBAClD;6BAAM;4BACL,iBAAiB,IAAI,aAAa,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;4BAChE,OAAO,iBAAiB,CAAC;yBAC1B;wBACD,OAAO,iBAAiB,CAAC;qBAC1B;iBACF;aACF;SACF;QACD,OAAO,iBAAiB,CAAC;KAC1B;AACH,CAAC,CAAC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* 最大値の位で区切ります。
|
|
3
|
+
*
|
|
4
|
+
* 1250 => [1000, 250]
|
|
5
|
+
*
|
|
6
|
+
* 150 => [100, 50]
|
|
2
7
|
* @param {string|number} number
|
|
3
8
|
* @returns string
|
|
4
9
|
*/
|
|
5
|
-
export declare const mathSeparator: (number: string | number) => number
|
|
10
|
+
export declare const mathSeparator: (number: string | number) => [number, number];
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
+
import { isDouble } from "./isDouble";
|
|
1
2
|
import { isNumber } from "./isNumber";
|
|
2
3
|
/**
|
|
4
|
+
* 最大値の位で区切ります。
|
|
5
|
+
*
|
|
6
|
+
* 1250 => [1000, 250]
|
|
7
|
+
*
|
|
8
|
+
* 150 => [100, 50]
|
|
3
9
|
* @param {string|number} number
|
|
4
10
|
* @returns string
|
|
5
11
|
*/
|
|
6
12
|
export const mathSeparator = (number) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
let copyNumber = number;
|
|
14
|
+
let decimalPart = 0;
|
|
15
|
+
if (isDouble(copyNumber)) {
|
|
16
|
+
const splitNumber = String(copyNumber).split(".");
|
|
17
|
+
// 小数点部分を取得
|
|
18
|
+
decimalPart = Number(`0.${splitNumber[1]}`);
|
|
19
|
+
copyNumber = splitNumber[0];
|
|
20
|
+
}
|
|
21
|
+
if (isNumber(copyNumber)) {
|
|
22
|
+
const [n, x] = typeof copyNumber === "string"
|
|
23
|
+
? [copyNumber.length - 1, Number(copyNumber)]
|
|
24
|
+
: [String(copyNumber).length - 1, copyNumber];
|
|
11
25
|
if (n) {
|
|
12
|
-
return [Math.pow(10, n), x - Math.pow(10, n)];
|
|
26
|
+
return [Math.pow(10, n), x - Math.pow(10, n) + decimalPart];
|
|
13
27
|
}
|
|
14
|
-
return [
|
|
28
|
+
return [Number(copyNumber), 0];
|
|
15
29
|
}
|
|
16
30
|
return [0, 0];
|
|
17
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mathSeparator.js","sourceRoot":"","sources":["../../src/Math/mathSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC
|
|
1
|
+
{"version":3,"file":"mathSeparator.js","sourceRoot":"","sources":["../../src/Math/mathSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAuB,EAAoB,EAAE;IACzE,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE;QACxB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,WAAW;QACX,WAAW,GAAG,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;KAC7B;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACV,OAAO,UAAU,KAAK,QAAQ;YAC5B,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,SAAA,EAAE,EAAI,CAAC,CAAA,EAAE,CAAC,GAAG,SAAA,EAAE,EAAI,CAAC,CAAA,GAAG,WAAW,CAAC,CAAC;SAC7C;QACD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;KAChC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC"}
|
package/module/Math/nCr.d.ts
CHANGED
package/module/Math/nCr.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { nPr } from "./nPr";
|
|
2
2
|
/**
|
|
3
|
-
* nCr
|
|
4
|
-
* @param
|
|
5
|
-
* @param
|
|
3
|
+
* n個からr個を選ぶ組み合わせ(nCr)を計算します。
|
|
4
|
+
* @param n - 選ぶ元となる全体の数
|
|
5
|
+
* @param r - 選ぶ個数
|
|
6
|
+
* @returns 組み合わせの結果、または引数が無効な場合はNaN
|
|
6
7
|
*/
|
|
7
8
|
export const nCr = (n, r) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
let age = 1;
|
|
11
|
-
for (let i = 2; i <= r; i++) {
|
|
12
|
-
age *= i;
|
|
9
|
+
if (n === 0 || r === 0 || n < r) {
|
|
10
|
+
return Number.NaN;
|
|
13
11
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const numerator = nPr(n, r);
|
|
13
|
+
let denominator = 1;
|
|
14
|
+
for (let index = 2; index <= r; index++) {
|
|
15
|
+
denominator *= index;
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
const result = numerator / denominator;
|
|
18
|
+
return result;
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=nCr.js.map
|
package/module/Math/nCr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nCr.js","sourceRoot":"","sources":["../../src/Math/nCr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"nCr.js","sourceRoot":"","sources":["../../src/Math/nCr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;QACvC,WAAW,IAAI,KAAK,CAAC;KACtB;IAED,MAAM,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/module/Math/nHr.d.ts
CHANGED
package/module/Math/nHr.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { nCr } from "./nCr";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @param
|
|
5
|
-
* @param
|
|
3
|
+
* n個からr個を重複を許して選ぶ組み合わせ(nHr)を計算します。
|
|
4
|
+
* @param n - 選ぶ元となる全体の数
|
|
5
|
+
* @param r - 選ぶ個数
|
|
6
|
+
* @returns 重複組み合わせの結果、または引数が無効な場合はNaN
|
|
6
7
|
*/
|
|
7
8
|
export const nHr = (n, r) => {
|
|
8
|
-
if (n === 0 || r === 0) {
|
|
9
|
-
return NaN;
|
|
9
|
+
if (n === 0 || r === 0 || n < 0 || r < 0) {
|
|
10
|
+
return Number.NaN;
|
|
10
11
|
}
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
return 0;
|
|
14
|
-
}
|
|
15
|
-
return y;
|
|
12
|
+
const result = nCr(n + r - 1, r);
|
|
13
|
+
return result;
|
|
16
14
|
};
|
|
17
15
|
//# sourceMappingURL=nHr.js.map
|
package/module/Math/nHr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nHr.js","sourceRoot":"","sources":["../../src/Math/nHr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"nHr.js","sourceRoot":"","sources":["../../src/Math/nHr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACxC,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/module/Math/nPr.d.ts
CHANGED
package/module/Math/nPr.js
CHANGED
|
@@ -1,37 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* nPr
|
|
3
|
-
* @param
|
|
4
|
-
* @param
|
|
2
|
+
* n個からr個を選ぶ順列(nPr)を計算します。
|
|
3
|
+
* @param n - 選ぶ元となる全体の数
|
|
4
|
+
* @param r - 選ぶ個数
|
|
5
|
+
* @returns 順列の結果、または引数が無効な場合はNaN
|
|
5
6
|
*/
|
|
6
7
|
export const nPr = (n, r) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
// nPr;
|
|
10
|
-
if (copyN === 0 || copyR === 0) {
|
|
11
|
-
return NaN;
|
|
8
|
+
if (n === 0 || r === 0 || n < r) {
|
|
9
|
+
return Number.NaN;
|
|
12
10
|
}
|
|
13
|
-
let
|
|
14
|
-
let
|
|
15
|
-
|
|
16
|
-
if (copyR === 1) {
|
|
17
|
-
y *= copyR;
|
|
18
|
-
}
|
|
19
|
-
copyR--;
|
|
20
|
-
if (copyR === 0) {
|
|
21
|
-
x++;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
copyN--;
|
|
25
|
-
if (copyN === 0) {
|
|
26
|
-
x++;
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
y *= copyN;
|
|
30
|
-
}
|
|
11
|
+
let result = 1;
|
|
12
|
+
for (let index = 0; index < r; index++) {
|
|
13
|
+
result *= n - index;
|
|
31
14
|
}
|
|
32
|
-
|
|
33
|
-
return 0;
|
|
34
|
-
}
|
|
35
|
-
return y;
|
|
15
|
+
return result;
|
|
36
16
|
};
|
|
37
17
|
//# sourceMappingURL=nPr.js.map
|
package/module/Math/nPr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nPr.js","sourceRoot":"","sources":["../../src/Math/nPr.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"nPr.js","sourceRoot":"","sources":["../../src/Math/nPr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC;KACrB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { nowSimple };
|
|
1
|
+
export * from "./now";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { hoursTypeInt } from "../../types/clockType";
|
|
2
2
|
import { MonthsWith31Days, MonthsWith31DaysInt, MonthsWithout31Days, MonthsWithout31DaysInt, convertMonTypeZero, dayType, dayTypeInt } from "../../types/dateType";
|
|
3
|
-
declare function dayOfWeekSimple<T extends MonthsWith31DaysInt | MonthsWithout31DaysInt>(
|
|
3
|
+
declare function dayOfWeekSimple<T extends MonthsWith31DaysInt | MonthsWithout31DaysInt>(properties?: {
|
|
4
4
|
year?: number;
|
|
5
5
|
mon?: T;
|
|
6
6
|
day?: dayTypeInt<T>;
|
|
7
7
|
}, timeDifference?: hoursTypeInt): number;
|
|
8
|
-
declare function dayOfWeekSimple<T extends MonthsWith31Days | MonthsWithout31Days>(
|
|
8
|
+
declare function dayOfWeekSimple<T extends MonthsWith31Days | MonthsWithout31Days>(properties?: `${number}-${convertMonTypeZero<T>}-${dayType<T>}` | `${number}:${convertMonTypeZero<T>}:${dayType<T>}` | `${number}/${convertMonTypeZero<T>}/${dayType<T>}` | Date, timeDifference?: hoursTypeInt): number;
|
|
9
9
|
export { dayOfWeekSimple };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { birthdaySimple, dayOfWeekSimple, deviationValueSimple };
|
|
1
|
+
export * from "./birthday";
|
|
2
|
+
export * from "./dayOfWeekSimple";
|
|
3
|
+
export * from "./deviationValueSimple";
|
package/module/Simple/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export { birthdaySimple, dayOfWeekSimple, deviationValueSimple, nowSimple };
|
|
1
|
+
export * from "./Date/now";
|
|
2
|
+
export * from "./Tool/birthday";
|
|
3
|
+
export * from "./Tool/dayOfWeekSimple";
|
|
4
|
+
export * from "./Tool/deviationValueSimple";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { hoursTypeInt } from "../types/clockType";
|
|
2
2
|
import { dayTypeInt, monTypeInt } from "../types/dateType";
|
|
3
|
-
export declare const dayOfWeek: <T extends monTypeInt>(
|
|
3
|
+
export declare const dayOfWeek: <T extends monTypeInt>(properties?: {
|
|
4
4
|
year?: number | undefined;
|
|
5
5
|
mon?: T | undefined;
|
|
6
6
|
day?: dayTypeInt<T> | undefined;
|
package/module/Tool/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export { birthday, dayOfWeek, createPipeline, isBrowser, isNode, isNodeWebkit, isObj, isArr, deleteSpace, isNotEmpty, };
|
|
1
|
+
export * from "./birthday";
|
|
2
|
+
export * from "./createPipeline";
|
|
3
|
+
export * from "./dayOfWeek";
|
|
4
|
+
export * from "./deleteSpace";
|
|
5
|
+
export * from "./isArray";
|
|
6
|
+
export * from "./isBrowser";
|
|
7
|
+
export * from "./isNode";
|
|
8
|
+
export * from "./isNodeWebkit";
|
|
9
|
+
export * from "./isNotEmpty";
|
|
10
|
+
export * from "./isObject";
|
package/module/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { checkFlagAlignment } from "../../Array/checkFlagAlignment";
|
|
2
|
+
describe("checkFlagAlignment", () => {
|
|
3
|
+
it("横", () => {
|
|
4
|
+
const matrix = [
|
|
5
|
+
[
|
|
6
|
+
{ value: 10, flag: true },
|
|
7
|
+
{ value: 20, flag: true },
|
|
8
|
+
{ value: 30, flag: true },
|
|
9
|
+
],
|
|
10
|
+
[
|
|
11
|
+
{ value: 40, flag: false },
|
|
12
|
+
{ value: 50, flag: false },
|
|
13
|
+
{ value: 60, flag: false },
|
|
14
|
+
],
|
|
15
|
+
[
|
|
16
|
+
{ value: 70, flag: false },
|
|
17
|
+
{ value: 80, flag: false },
|
|
18
|
+
{ value: 90, flag: false },
|
|
19
|
+
],
|
|
20
|
+
];
|
|
21
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
it("縦", () => {
|
|
24
|
+
const matrix = [
|
|
25
|
+
[
|
|
26
|
+
{ value: 10, flag: false },
|
|
27
|
+
{ value: 20, flag: true },
|
|
28
|
+
{ value: 30, flag: false },
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
{ value: 40, flag: false },
|
|
32
|
+
{ value: 50, flag: true },
|
|
33
|
+
{ value: 60, flag: false },
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
{ value: 70, flag: false },
|
|
37
|
+
{ value: 80, flag: true },
|
|
38
|
+
{ value: 90, flag: false },
|
|
39
|
+
],
|
|
40
|
+
];
|
|
41
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it("斜め(左上)", () => {
|
|
44
|
+
const matrix = [
|
|
45
|
+
[
|
|
46
|
+
{ value: 10, flag: true },
|
|
47
|
+
{ value: 20, flag: false },
|
|
48
|
+
{ value: 30, flag: false },
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
{ value: 40, flag: false },
|
|
52
|
+
{ value: 50, flag: true },
|
|
53
|
+
{ value: 60, flag: false },
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
{ value: 70, flag: false },
|
|
57
|
+
{ value: 80, flag: false },
|
|
58
|
+
{ value: 90, flag: true },
|
|
59
|
+
],
|
|
60
|
+
];
|
|
61
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
it("斜め(右上)", () => {
|
|
64
|
+
const matrix = [
|
|
65
|
+
[
|
|
66
|
+
{ value: 10, flag: false },
|
|
67
|
+
{ value: 20, flag: false },
|
|
68
|
+
{ value: 30, flag: true },
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
{ value: 40, flag: false },
|
|
72
|
+
{ value: 50, flag: true },
|
|
73
|
+
{ value: 60, flag: false },
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
{ value: 70, flag: true },
|
|
77
|
+
{ value: 80, flag: false },
|
|
78
|
+
{ value: 90, flag: false },
|
|
79
|
+
],
|
|
80
|
+
];
|
|
81
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
82
|
+
});
|
|
83
|
+
it("揃ってない時", () => {
|
|
84
|
+
const matrix = [
|
|
85
|
+
[
|
|
86
|
+
{ value: 10, flag: false },
|
|
87
|
+
{ value: 20, flag: true },
|
|
88
|
+
{ value: 30, flag: false },
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
{ value: 40, flag: false },
|
|
92
|
+
{ value: 50, flag: true },
|
|
93
|
+
{ value: 60, flag: false },
|
|
94
|
+
],
|
|
95
|
+
[
|
|
96
|
+
{ value: 70, flag: false },
|
|
97
|
+
{ value: 80, flag: false },
|
|
98
|
+
{ value: 90, flag: false },
|
|
99
|
+
],
|
|
100
|
+
];
|
|
101
|
+
expect(checkFlagAlignment(matrix)).toBe(false);
|
|
102
|
+
});
|
|
103
|
+
// 以下、大量データのテスト
|
|
104
|
+
it("横(大量)", () => {
|
|
105
|
+
const row = Array(1000).fill({ flag: true, value: 1 });
|
|
106
|
+
const matrix = Array(1000).fill(row);
|
|
107
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
108
|
+
});
|
|
109
|
+
it("縦(大量)", () => {
|
|
110
|
+
const row = Array(1000).fill({ flag: false, value: 1 });
|
|
111
|
+
let matrix = Array(1000).fill(row);
|
|
112
|
+
for (let i = 0; i < matrix.length; i++) {
|
|
113
|
+
matrix[i][0].flag = true;
|
|
114
|
+
}
|
|
115
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
116
|
+
});
|
|
117
|
+
it("斜め(大量)", () => {
|
|
118
|
+
let matrix = Array.from({ length: 1000 }, () => Array.from({ length: 1000 }, () => ({ flag: false, value: 1 })));
|
|
119
|
+
for (let i = 0; i < 1000; i++) {
|
|
120
|
+
matrix[i][i].flag = true;
|
|
121
|
+
}
|
|
122
|
+
expect(checkFlagAlignment(matrix)).toBe(true);
|
|
123
|
+
});
|
|
124
|
+
it("揃ってない時(大量)", () => {
|
|
125
|
+
const row = Array(1000).fill({ flag: false, value: 1 });
|
|
126
|
+
const matrix = Array(1000).fill(row);
|
|
127
|
+
expect(checkFlagAlignment(matrix)).toBe(false);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=checkFlagAlignment.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFlagAlignment.test.js","sourceRoot":"","sources":["../../../src/tests/Array/checkFlagAlignment.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,63 @@
|
|
|
1
1
|
import { calculator } from "../../../Math/calculator";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
describe("calculator", () => {
|
|
3
|
+
// 足し算
|
|
4
|
+
test("should handle addition", () => {
|
|
5
|
+
expect(calculator("1+")).toBe("1+");
|
|
6
|
+
expect(calculator("1+1")).toBe("2");
|
|
7
|
+
expect(calculator("1+1+1")).toBe("3");
|
|
8
|
+
expect(calculator("1+1+1+1")).toBe("4");
|
|
9
|
+
expect(calculator("1+1+1+1+1")).toBe("5");
|
|
10
|
+
});
|
|
11
|
+
// 引き算
|
|
12
|
+
test("should handle subtraction", () => {
|
|
13
|
+
expect(calculator("1-")).toBe("1-");
|
|
14
|
+
expect(calculator("1-1")).toBe("0");
|
|
15
|
+
expect(calculator("1-1-1")).toBe("-1");
|
|
16
|
+
expect(calculator("1-1-1-1")).toBe("-2");
|
|
17
|
+
expect(calculator("1-1-1-1-1")).toBe("-3");
|
|
18
|
+
});
|
|
19
|
+
// 掛け算
|
|
20
|
+
test("should handle multiplication", () => {
|
|
21
|
+
expect(calculator("2*")).toBe("2*");
|
|
22
|
+
expect(calculator("2*2")).toBe("4");
|
|
23
|
+
expect(calculator("2*2*2")).toBe("8");
|
|
24
|
+
expect(calculator("2*2*2*2")).toBe("16");
|
|
25
|
+
expect(calculator("2*2*2*2*2")).toBe("32");
|
|
26
|
+
});
|
|
27
|
+
// 割り算
|
|
28
|
+
test("should handle division", () => {
|
|
29
|
+
expect(calculator("2/")).toBe("2/");
|
|
30
|
+
expect(calculator("2/2")).toBe("1");
|
|
31
|
+
expect(calculator("2/2/2")).toBe("0.5");
|
|
32
|
+
expect(calculator("2/2/2/2")).toBe("0.25");
|
|
33
|
+
expect(calculator("2/2/2/2/2")).toBe("0.125");
|
|
34
|
+
});
|
|
35
|
+
// べき乗
|
|
36
|
+
test("should handle exponentiation", () => {
|
|
37
|
+
expect(calculator("2^")).toBe("2^");
|
|
38
|
+
expect(calculator("2^2")).toBe("4");
|
|
39
|
+
expect(calculator("2^2^2")).toBe("16");
|
|
40
|
+
expect(calculator("2^2^2^2")).toBe("65536");
|
|
41
|
+
expect(calculator("2^2^2^2^2")).toBe("Infinity");
|
|
42
|
+
expect(calculator("3^4")).toBe("81");
|
|
43
|
+
expect(calculator("3^4^2")).toBe("43046721");
|
|
44
|
+
});
|
|
45
|
+
// 括弧
|
|
46
|
+
test("should handle parentheses", () => {
|
|
47
|
+
expect(calculator("(1+1)")).toBe("2");
|
|
48
|
+
expect(calculator("(1")).toBe("(1");
|
|
49
|
+
expect(calculator("(1+")).toBe("(1+");
|
|
50
|
+
expect(calculator("1)")).toBe("1)");
|
|
51
|
+
expect(calculator("(1)")).toBe("(1)");
|
|
52
|
+
expect(calculator("(1+1)+(1+1)")).toBe("4");
|
|
53
|
+
});
|
|
54
|
+
// 方程式
|
|
55
|
+
test("should handle equations", () => {
|
|
56
|
+
expect(calculator("2x=(1+1)+(1+1)+(1+1)")).toBe("3");
|
|
57
|
+
});
|
|
58
|
+
// 変数
|
|
59
|
+
test("should handle variables", () => {
|
|
60
|
+
expect(calculator("$10*2", { $: 100 })).toBe("2000");
|
|
61
|
+
});
|
|
15
62
|
});
|
|
16
63
|
//# sourceMappingURL=calculator.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculator.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/calculator.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,
|
|
1
|
+
{"version":3,"file":"calculator.test.js","sourceRoot":"","sources":["../../../../src/tests/Math/calculator/calculator.test.ts"],"names":[],"mappings":"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"}
|