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.
Files changed (159) hide show
  1. package/.markdownlint.json +4 -1
  2. package/README.md +11 -4
  3. package/lib/.clang-format +200 -0
  4. package/lib/1.s +259 -0
  5. package/lib/Makefile +5 -0
  6. package/lib/index.cpp +10 -0
  7. package/lib/index.s +238 -0
  8. package/module/Array/arraysJoin.d.ts +1 -2
  9. package/module/Array/arraysJoin.js +2 -1
  10. package/module/Array/getArraysCommon.d.ts +6 -0
  11. package/module/Array/getArraysCommon.js +25 -0
  12. package/module/Array/getArraysDiff.d.ts +1 -2
  13. package/module/Array/getArraysDiff.js +15 -7
  14. package/module/Array/index.d.ts +16 -5
  15. package/module/Array/index.js +54 -11
  16. package/module/Array/quickSort.d.ts +1 -2
  17. package/module/Array/quickSort.js +4 -3
  18. package/module/Array/sum.d.ts +1 -0
  19. package/module/Array/sum.js +8 -0
  20. package/module/Compiler/core.d.ts +5 -0
  21. package/module/Compiler/core.js +19 -0
  22. package/module/Compiler/token.d.ts +10 -0
  23. package/module/Compiler/token.js +120 -0
  24. package/module/Date/index.d.ts +7 -1
  25. package/module/Date/index.js +26 -5
  26. package/module/Date/now.d.ts +5 -2
  27. package/module/Date/now.js +10 -3
  28. package/module/Math/addition.d.ts +2 -2
  29. package/module/Math/addition.js +8 -9
  30. package/module/Math/average.d.ts +2 -2
  31. package/module/Math/average.js +3 -1
  32. package/module/Math/calculator/core.d.ts +1 -5
  33. package/module/Math/calculator/core.js +76 -55
  34. package/module/Math/calculator/exchange.d.ts +1 -5
  35. package/module/Math/calculator/exchange.js +16 -12
  36. package/module/Math/calculator/index.d.ts +2 -5
  37. package/module/Math/calculator/index.js +13 -8
  38. package/module/Math/calculator/literalExpression.d.ts +2 -2
  39. package/module/Math/calculator/literalExpression.js +20 -13
  40. package/module/Math/degToRad.d.ts +2 -2
  41. package/module/Math/degToRad.js +3 -1
  42. package/module/Math/deviationValue.d.ts +8 -0
  43. package/module/Math/deviationValue.js +14 -0
  44. package/module/Math/division.d.ts +7 -2
  45. package/module/Math/division.js +20 -9
  46. package/module/Math/factorial.d.ts +2 -2
  47. package/module/Math/factorial.js +10 -4
  48. package/module/Math/factorize.d.ts +2 -2
  49. package/module/Math/factorize.js +3 -1
  50. package/module/Math/gcd.d.ts +2 -2
  51. package/module/Math/gcd.js +6 -7
  52. package/module/Math/getDecimalLength.d.ts +2 -2
  53. package/module/Math/getDecimalLength.js +3 -1
  54. package/module/Math/index.d.ts +94 -33
  55. package/module/Math/index.js +278 -67
  56. package/module/Math/isDouble.d.ts +3 -2
  57. package/module/Math/isDouble.js +4 -1
  58. package/module/Math/isNumber.d.ts +3 -3
  59. package/module/Math/isNumber.js +4 -2
  60. package/module/Math/isPrimeNumber.d.ts +2 -2
  61. package/module/Math/isPrimeNumber.js +5 -6
  62. package/module/Math/lcm.d.ts +2 -2
  63. package/module/Math/lcm.js +7 -8
  64. package/module/Math/mathConverter.d.ts +5 -0
  65. package/module/Math/mathConverter.js +48 -0
  66. package/module/Math/mathSeparator.d.ts +5 -0
  67. package/module/Math/mathSeparator.js +21 -0
  68. package/module/Math/max.d.ts +1 -2
  69. package/module/Math/max.js +3 -2
  70. package/module/Math/min.d.ts +1 -2
  71. package/module/Math/min.js +3 -2
  72. package/module/Math/multiples.d.ts +1 -2
  73. package/module/Math/multiples.js +2 -1
  74. package/module/Math/multiplication.d.ts +1 -2
  75. package/module/Math/multiplication.js +4 -6
  76. package/module/Math/nCr.d.ts +1 -2
  77. package/module/Math/nCr.js +4 -6
  78. package/module/Math/nHr.d.ts +1 -2
  79. package/module/Math/nHr.js +4 -6
  80. package/module/Math/nPr.d.ts +1 -2
  81. package/module/Math/nPr.js +2 -1
  82. package/module/Math/primeFactorization.d.ts +1 -2
  83. package/module/Math/primeFactorization.js +2 -1
  84. package/module/Math/quotient.d.ts +1 -2
  85. package/module/Math/quotient.js +2 -1
  86. package/module/Math/radToDeg.d.ts +1 -2
  87. package/module/Math/radToDeg.js +2 -1
  88. package/module/Math/random.d.ts +3 -2
  89. package/module/Math/random.js +5 -2
  90. package/module/Math/reduce.d.ts +1 -2
  91. package/module/Math/reduce.js +5 -7
  92. package/module/Math/repeatedTrial.d.ts +2 -2
  93. package/module/Math/repeatedTrial.js +7 -8
  94. package/module/Math/roundOff.d.ts +7 -0
  95. package/module/Math/roundOff.js +14 -0
  96. package/module/Math/softmax.d.ts +5 -0
  97. package/module/Math/softmax.js +40 -0
  98. package/module/Math/standardDeviation.d.ts +1 -2
  99. package/module/Math/standardDeviation.js +5 -7
  100. package/module/Math/subtract.d.ts +1 -2
  101. package/module/Math/subtract.js +9 -9
  102. package/module/Math/toBinary.d.ts +5 -2
  103. package/module/Math/toBinary.js +4 -4
  104. package/module/Math/toCelsius.d.ts +1 -2
  105. package/module/Math/toCelsius.js +4 -6
  106. package/module/Math/toKelvin.d.ts +1 -2
  107. package/module/Math/toKelvin.js +4 -6
  108. package/module/Math/valueSwap.d.ts +2 -2
  109. package/module/Math/valueSwap.js +3 -1
  110. package/module/Simple/Date/index.d.ts +5 -0
  111. package/module/Simple/Date/index.js +27 -0
  112. package/module/Simple/Date/now.d.ts +1 -0
  113. package/module/Simple/Date/now.js +17 -0
  114. package/module/Simple/Math/dayOfWeek.d.ts +6 -0
  115. package/module/Simple/Math/dayOfWeek.js +31 -0
  116. package/module/Simple/Math/deviationValue.d.ts +5 -0
  117. package/module/Simple/Math/deviationValue.js +14 -0
  118. package/module/Simple/Math/index.d.ts +10 -0
  119. package/module/Simple/Math/index.js +33 -0
  120. package/module/Simple/Tool/birthday.d.ts +9 -0
  121. package/module/Simple/Tool/birthday.js +26 -0
  122. package/module/Simple/Tool/index.d.ts +5 -0
  123. package/module/Simple/Tool/index.js +27 -0
  124. package/module/Simple/index.d.ts +11 -0
  125. package/module/Simple/index.js +40 -0
  126. package/module/Tool/birthday.d.ts +8 -2
  127. package/module/Tool/birthday.js +15 -10
  128. package/module/Tool/dayOfWeek.d.ts +5 -6
  129. package/module/Tool/dayOfWeek.js +12 -2
  130. package/module/Tool/index.d.ts +18 -3
  131. package/module/Tool/index.js +58 -9
  132. package/module/Tool/isBrowser.d.ts +1 -0
  133. package/module/Tool/isBrowser.js +4 -0
  134. package/module/Tool/isNode.d.ts +1 -0
  135. package/module/Tool/isNode.js +4 -0
  136. package/module/Tool/isNodeWebkit.d.ts +1 -0
  137. package/module/Tool/isNodeWebkit.js +6 -0
  138. package/module/Tool/pipeFunction.d.ts +1 -2
  139. package/module/Tool/pipeFunction.js +3 -2
  140. package/module/index.d.ts +10 -11
  141. package/module/index.js +49 -33
  142. package/module/tsconfig.tsbuildinfo +1 -1
  143. package/module/types/int.d.ts +4 -0
  144. package/module/{Math/value.js → types/int.js} +0 -2
  145. package/module/types/logicType.d.ts +8 -0
  146. package/module/types/logicType.js +2 -0
  147. package/module/types/monType.d.ts +4 -0
  148. package/module/types/monType.js +2 -0
  149. package/package.json +18 -18
  150. package/.env +0 -1
  151. package/.github/dependabot.yml +0 -11
  152. package/.github/workflows/node.js.yml +0 -30
  153. package/module/Array/getArraysIntersect.d.ts +0 -7
  154. package/module/Array/getArraysIntersect.js +0 -15
  155. package/module/Math/euclideanAlgorithm.d.ts +0 -8
  156. package/module/Math/euclideanAlgorithm.js +0 -31
  157. package/module/Math/value.d.ts +0 -2
  158. package/sider.yml +0 -60
  159. 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
- const division_1 = __importDefault(require("./division"));
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.default)(n, i)[1] == 0) {
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.default = isPrimeNumber;
24
+ exports.isPrimeNumber = isPrimeNumber;
@@ -2,6 +2,6 @@
2
2
  * 最小公倍数
3
3
  * @param {number} x
4
4
  * @param {number} y
5
+ * @returns number
5
6
  */
6
- declare const lcm: (x: number, y: number) => number;
7
- export default lcm;
7
+ export declare const lcm: (x: number, y: number) => number;
@@ -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
- const gcd_1 = __importDefault(require("./gcd"));
7
- const valueSwap_1 = __importDefault(require("./valueSwap"));
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.default)(x, y);
18
- return (x / (0, gcd_1.default)(x, y)) * y;
16
+ [x, y] = (0, valueSwap_1.valueSwap)(x, y);
17
+ return (x / (0, gcd_1.gcd)(x, y)) * y;
19
18
  };
20
- exports.default = lcm;
19
+ exports.lcm = lcm;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @param {string} x
3
+ * @returns string
4
+ */
5
+ export declare const mathConverter: (x: string) => string;
@@ -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,5 @@
1
+ /**
2
+ * @param {string|number} number
3
+ * @returns string
4
+ */
5
+ export declare const mathSeparator: (number: string | number) => number[];
@@ -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;
@@ -2,5 +2,4 @@
2
2
  * 最大値を返す
3
3
  * @param {number[]} num
4
4
  */
5
- declare const max: (num: number[]) => number;
6
- export default max;
5
+ export declare const max: (...num: number[]) => number;
@@ -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.default = max;
8
+ const max = (...num) => Math.max.apply(null, [...new Set(num)]);
9
+ exports.max = max;
@@ -2,5 +2,4 @@
2
2
  * 最小値を返す
3
3
  * @param {number[]} num
4
4
  */
5
- declare const min: (num: number[]) => number;
6
- export default min;
5
+ export declare const min: (...num: number[]) => number;
@@ -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.default = min;
8
+ const min = (...num) => Math.min.apply(null, [...new Set(num)]);
9
+ exports.min = min;
@@ -3,5 +3,4 @@
3
3
  * @param {number} x
4
4
  * @param {number} n
5
5
  */
6
- declare const multiples: (x: number, n: number) => number[];
7
- export default multiples;
6
+ export declare const multiples: (x: number, n: number) => number[];
@@ -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.default = multiples;
16
+ exports.multiples = multiples;
@@ -3,5 +3,4 @@
3
3
  * @param {number} x
4
4
  * @param {number} y
5
5
  */
6
- declare const multiplication: (x: number, y: number) => number;
7
- export default multiplication;
6
+ export declare const multiplication: (x: number, y: number) => number;
@@ -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
- const getDecimalLength_1 = __importDefault(require("./getDecimalLength"));
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 ** ((0, getDecimalLength_1.default)(x) + (0, getDecimalLength_1.default)(y));
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.default = multiplication;
16
+ exports.multiplication = multiplication;
@@ -3,5 +3,4 @@
3
3
  * @param {number} n
4
4
  * @param {number} r
5
5
  */
6
- declare const nCr: (n: number, r: number) => number;
7
- export default nCr;
6
+ export declare const nCr: (n: number, r: number) => number;
@@ -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
- const nPr_1 = __importDefault(require("./nPr"));
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.default)(n, r);
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.default = nCr;
22
+ exports.nCr = nCr;
@@ -3,5 +3,4 @@
3
3
  * @param {number} n
4
4
  * @param {number} r
5
5
  */
6
- declare const nHr: (n: number, r: number) => number;
7
- export default nHr;
6
+ export declare const nHr: (n: number, r: number) => number;
@@ -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
- const nCr_1 = __importDefault(require("./nCr"));
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.default)(n + r - 1, r);
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.default = nHr;
19
+ exports.nHr = nHr;
@@ -3,5 +3,4 @@
3
3
  * @param {number} n
4
4
  * @param {number} r
5
5
  */
6
- declare const nPr: (n: number, r: number) => number;
7
- export default nPr;
6
+ export declare const nPr: (n: number, r: number) => number;
@@ -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.default = nPr;
37
+ exports.nPr = nPr;
@@ -2,8 +2,7 @@
2
2
  * 素因数分解
3
3
  * @param {number} x
4
4
  */
5
- declare const primeFactorization: (x: number) => {
5
+ export declare const primeFactorization: (x: number) => {
6
6
  number: number;
7
7
  count: number;
8
8
  }[];
9
- export default primeFactorization;
@@ -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.default = primeFactorization;
23
+ exports.primeFactorization = primeFactorization;
@@ -3,5 +3,4 @@
3
3
  * @param {number} x
4
4
  * @param {number} y
5
5
  */
6
- declare const quotient: (x: number, y: number) => number[];
7
- export default quotient;
6
+ export declare const quotient: (x: number, y: number) => number[];
@@ -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.default = quotient;
13
+ exports.quotient = quotient;
@@ -2,5 +2,4 @@
2
2
  * ラジアンを角度に変換
3
3
  * @param {number} x
4
4
  */
5
- declare const radToDeg: (x: number) => number;
6
- export default radToDeg;
5
+ export declare const radToDeg: (x: number) => number;
@@ -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.default = radToDeg;
9
+ exports.radToDeg = radToDeg;
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * 整数の乱数
3
3
  * @param {number} num
4
+ * @param {number} min 最小値
5
+ * @return {number}
4
6
  */
5
- declare const random: (num: number) => number;
6
- export default random;
7
+ export declare const random: (num: number, min?: number) => number;
@@ -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.default = random;
10
+ const random = (num, min = 0) => Math.floor(Math.random() * ((num || 1) - min) + min);
11
+ exports.random = random;
@@ -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;
@@ -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
- const gcd_1 = __importDefault(require("./gcd"));
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.default)(x, y);
17
- return { x: x / n, y: y / n, gcd: (0, gcd_1.default)(x, y) };
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.default = reduce;
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
- const gcd_1 = __importDefault(require("./gcd"));
7
- const nCr_1 = __importDefault(require("./nCr"));
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.default)(n, r);
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.default)(answer1, answer2);
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.default = repeatedTrial;
23
+ exports.repeatedTrial = repeatedTrial;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 四捨五入
3
+ * @param {number} num - 四捨五入する数値
4
+ * @param {number} precision - 四捨五入する桁数
5
+ * @returns number
6
+ */
7
+ export declare const roundOf: (num: number, precision: number) => number;
@@ -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,5 @@
1
+ /**
2
+ * @param {number[]} x
3
+ * @return {number[]}
4
+ */
5
+ export declare const softmax: (x: number[]) => number[];
@@ -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;
@@ -2,5 +2,4 @@
2
2
  * 標準偏差
3
3
  * @param {number[]} values
4
4
  */
5
- declare const standardDeviation: (values: number[]) => number;
6
- export default standardDeviation;
5
+ export declare const standardDeviation: (values: number[]) => number;
@@ -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
- const average_1 = __importDefault(require("./average"));
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.default)(values);
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.default)(squareDiffs);
16
+ const avgSquareDiff = (0, average_1.average)(squareDiffs);
19
17
  const stdDev = Math.sqrt(avgSquareDiff);
20
18
  return stdDev;
21
19
  };
22
- exports.default = standardDeviation;
20
+ exports.standardDeviation = standardDeviation;
@@ -3,5 +3,4 @@
3
3
  * @param {number} x
4
4
  * @param {number} y
5
5
  */
6
- declare const subtract: (x: number, y: number) => number;
7
- export default subtract;
6
+ export declare const subtract: (x: number, y: number) => number;