pimath 0.0.89 → 0.0.90
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/dev/pi.js +102 -68
- package/dev/pi.js.map +1 -1
- package/dist/pi.js +86 -64
- package/dist/pi.js.map +1 -1
- package/dist/pi.min.js +1 -1
- package/dist/pi.min.js.map +1 -1
- package/esm/maths/algebra/equation.js +76 -61
- package/esm/maths/algebra/equation.js.map +1 -1
- package/esm/maths/coefficients/fraction.js +1 -1
- package/esm/maths/coefficients/fraction.js.map +1 -1
- package/esm/maths/numeric.d.ts +1 -0
- package/esm/maths/numeric.js +4 -1
- package/esm/maths/numeric.js.map +1 -1
- package/esm/maths/randomization/rndFraction.js +5 -1
- package/esm/maths/randomization/rndFraction.js.map +1 -1
- package/package.json +1 -1
- package/src/maths/algebra/equation.ts +84 -60
- package/src/maths/coefficients/fraction.ts +1 -1
- package/src/maths/numeric.ts +5 -1
- package/src/maths/randomization/rndFraction.ts +5 -1
- package/tests/algebra/equation.test.ts +8 -0
- package/tests/coefficients/fraction.test.ts +17 -0
- package/tests/custom.test.ts +31 -0
- package/tests/numeric.test.ts +11 -4
package/dev/pi.js
CHANGED
|
@@ -480,70 +480,85 @@ class Equation {
|
|
|
480
480
|
// -b +- coeff\sqrt{radical}
|
|
481
481
|
// -------------------------
|
|
482
482
|
// 2a
|
|
483
|
-
let gcd = numeric_1.Numeric.gcd(b, 2 * a, nthDelta.coefficient);
|
|
483
|
+
let gcd = numeric_1.Numeric.gcd(b, 2 * a, nthDelta.coefficient), am = a / gcd, bm = b / gcd;
|
|
484
484
|
nthDelta.coefficient = nthDelta.coefficient / gcd;
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
if (2 * a / gcd === 1) {
|
|
489
|
-
this._solutions = [
|
|
490
|
-
{
|
|
491
|
-
tex: `${-b / gcd} - ${nthDelta.tex}`,
|
|
492
|
-
value: realX1,
|
|
493
|
-
exact: false // TODO: implement exact value with nthroot
|
|
494
|
-
},
|
|
495
|
-
{
|
|
496
|
-
tex: `${-b / gcd} + ${nthDelta.tex}`,
|
|
497
|
-
value: realX2,
|
|
498
|
-
exact: false
|
|
499
|
-
},
|
|
500
|
-
];
|
|
501
|
-
}
|
|
502
|
-
else {
|
|
503
|
-
this._solutions = [
|
|
504
|
-
{
|
|
505
|
-
tex: `\\frac{${-b / gcd} - ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
506
|
-
value: realX1,
|
|
507
|
-
exact: false
|
|
508
|
-
},
|
|
509
|
-
{
|
|
510
|
-
tex: `\\frac{${-b / gcd} + ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
511
|
-
value: realX2,
|
|
512
|
-
exact: false
|
|
513
|
-
},
|
|
514
|
-
];
|
|
515
|
-
}
|
|
485
|
+
if (a < 0) {
|
|
486
|
+
am = -am;
|
|
487
|
+
bm = -bm;
|
|
516
488
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
exact: false
|
|
524
|
-
},
|
|
525
|
-
{
|
|
526
|
-
tex: `${nthDelta.tex}`,
|
|
527
|
-
value: realX2,
|
|
528
|
-
exact: false
|
|
529
|
-
},
|
|
530
|
-
];
|
|
531
|
-
}
|
|
532
|
-
else {
|
|
533
|
-
this._solutions = [
|
|
534
|
-
{
|
|
535
|
-
tex: `\\frac{- ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
536
|
-
value: realX1,
|
|
537
|
-
exact: false
|
|
538
|
-
},
|
|
539
|
-
{
|
|
540
|
-
tex: `\\frac{${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
541
|
-
value: realX2,
|
|
542
|
-
exact: false
|
|
543
|
-
},
|
|
544
|
-
];
|
|
545
|
-
}
|
|
489
|
+
let tex1 = "", tex2 = "";
|
|
490
|
+
tex1 = `${bm !== 0 ? ((-bm) + ' - ') : ''}${nthDelta.tex}`;
|
|
491
|
+
tex2 = `${bm !== 0 ? ((-bm) + ' + ') : ''}${nthDelta.tex}`;
|
|
492
|
+
if (am !== 1) {
|
|
493
|
+
tex1 = `\\frac{ ${tex1} }{ ${2 * am} }`;
|
|
494
|
+
tex2 = `\\frac{ ${tex2} }{ ${2 * am} }`;
|
|
546
495
|
}
|
|
496
|
+
this._solutions = [
|
|
497
|
+
{
|
|
498
|
+
tex: tex1, value: realX1, exact: false
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
tex: tex2, value: realX2, exact: false
|
|
502
|
+
},
|
|
503
|
+
];
|
|
504
|
+
// if (b !== 0) {
|
|
505
|
+
// if (2 * a / gcd === 1) {
|
|
506
|
+
// this._solutions = [
|
|
507
|
+
// {
|
|
508
|
+
// tex: `${-b / gcd} - ${nthDelta.tex}`,
|
|
509
|
+
// value: realX1,
|
|
510
|
+
// exact: false // TODO: implement exact value with nthroot
|
|
511
|
+
// },
|
|
512
|
+
// {
|
|
513
|
+
// tex: `${-b / gcd} + ${nthDelta.tex}`,
|
|
514
|
+
// value: realX2,
|
|
515
|
+
// exact: false
|
|
516
|
+
// },
|
|
517
|
+
//
|
|
518
|
+
// ]
|
|
519
|
+
// } else {
|
|
520
|
+
// this._solutions = [
|
|
521
|
+
// {
|
|
522
|
+
// tex: `\\frac{${-b / gcd} - ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
523
|
+
// value: realX1,
|
|
524
|
+
// exact: false
|
|
525
|
+
// },
|
|
526
|
+
// {
|
|
527
|
+
// tex: `\\frac{${-b / gcd} + ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
528
|
+
// value: realX2,
|
|
529
|
+
// exact: false
|
|
530
|
+
// },
|
|
531
|
+
// ]
|
|
532
|
+
// }
|
|
533
|
+
// } else {
|
|
534
|
+
// if (2 * a / gcd === 1) {
|
|
535
|
+
// this._solutions = [
|
|
536
|
+
// {
|
|
537
|
+
// tex: `- ${nthDelta.tex}`,
|
|
538
|
+
// value: realX1,
|
|
539
|
+
// exact: false
|
|
540
|
+
// },
|
|
541
|
+
// {
|
|
542
|
+
// tex: `${nthDelta.tex}`,
|
|
543
|
+
// value: realX2,
|
|
544
|
+
// exact: false
|
|
545
|
+
// },
|
|
546
|
+
// ]
|
|
547
|
+
// } else {
|
|
548
|
+
// this._solutions = [
|
|
549
|
+
// {
|
|
550
|
+
// tex: `\\frac{- ${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
551
|
+
// value: realX1,
|
|
552
|
+
// exact: false
|
|
553
|
+
// },
|
|
554
|
+
// {
|
|
555
|
+
// tex: `\\frac{${nthDelta.tex} }{ ${2 * a / gcd} }`,
|
|
556
|
+
// value: realX2,
|
|
557
|
+
// exact: false
|
|
558
|
+
// },
|
|
559
|
+
// ]
|
|
560
|
+
// }
|
|
561
|
+
// }
|
|
547
562
|
}
|
|
548
563
|
else {
|
|
549
564
|
// -b +- d / 2a
|
|
@@ -6544,13 +6559,13 @@ class Numeric {
|
|
|
6544
6559
|
* Get the list of the nth first prime numbers.
|
|
6545
6560
|
* @param nb : number of primes to choose from
|
|
6546
6561
|
*/
|
|
6547
|
-
static
|
|
6548
|
-
let
|
|
6562
|
+
static primes(nb) {
|
|
6563
|
+
let primesValues = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973];
|
|
6549
6564
|
if (nb === undefined) {
|
|
6550
|
-
return
|
|
6565
|
+
return primesValues;
|
|
6551
6566
|
}
|
|
6552
6567
|
else {
|
|
6553
|
-
return
|
|
6568
|
+
return primesValues.slice(0, Math.min(primesValues.length, nb));
|
|
6554
6569
|
}
|
|
6555
6570
|
}
|
|
6556
6571
|
/**
|
|
@@ -6615,6 +6630,10 @@ class Numeric {
|
|
|
6615
6630
|
}
|
|
6616
6631
|
return Math.abs(g);
|
|
6617
6632
|
}
|
|
6633
|
+
static divideNumbersByGCD(...values) {
|
|
6634
|
+
let gcd = Numeric.gcd(...values);
|
|
6635
|
+
return values.map(x => x / gcd);
|
|
6636
|
+
}
|
|
6618
6637
|
/**
|
|
6619
6638
|
* Least Common Multiple
|
|
6620
6639
|
* @param values: list of numbers
|
|
@@ -6662,7 +6681,6 @@ class Numeric {
|
|
|
6662
6681
|
// New tested values.
|
|
6663
6682
|
const mod = extractDecimalPart(value + epsilon, epsilonNumberOfDigits), mod0 = mod.match(/0+$/g);
|
|
6664
6683
|
if (mod0 && mod0[0].length >= number_of_digits) {
|
|
6665
|
-
// The value can be changed. Remove all zeros!
|
|
6666
6684
|
return +((value + epsilon).toString().split(mod0[0])[0]);
|
|
6667
6685
|
}
|
|
6668
6686
|
}
|
|
@@ -6744,6 +6762,10 @@ var Random;
|
|
|
6744
6762
|
return rndHelpers_1.rndHelpers.randomIntSym(max, allowZero);
|
|
6745
6763
|
}
|
|
6746
6764
|
Random.numberSym = numberSym;
|
|
6765
|
+
function prime(max) {
|
|
6766
|
+
return rndHelpers_1.rndHelpers.randomPrime(max);
|
|
6767
|
+
}
|
|
6768
|
+
Random.prime = prime;
|
|
6747
6769
|
function bool(percent) {
|
|
6748
6770
|
return rndHelpers_1.rndHelpers.randomBool(percent);
|
|
6749
6771
|
}
|
|
@@ -6826,7 +6848,11 @@ class rndFraction extends randomCore_1.randomCore {
|
|
|
6826
6848
|
Q.denominator = 1;
|
|
6827
6849
|
}
|
|
6828
6850
|
else {
|
|
6829
|
-
|
|
6851
|
+
let securityCount = 0;
|
|
6852
|
+
while (Q.isRelative() && securityCount < 10) {
|
|
6853
|
+
Q.denominator = random_1.Random.number(1, this._config.max);
|
|
6854
|
+
securityCount++;
|
|
6855
|
+
}
|
|
6830
6856
|
}
|
|
6831
6857
|
return this._config.reduced ? Q.reduce() : Q;
|
|
6832
6858
|
};
|
|
@@ -6849,7 +6875,7 @@ exports.rndFraction = rndFraction;
|
|
|
6849
6875
|
/*!***********************************************!*\
|
|
6850
6876
|
!*** ./src/maths/randomization/rndHelpers.ts ***!
|
|
6851
6877
|
\***********************************************/
|
|
6852
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
6878
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
6853
6879
|
|
|
6854
6880
|
|
|
6855
6881
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
@@ -6857,6 +6883,7 @@ exports.rndHelpers = void 0;
|
|
|
6857
6883
|
/**
|
|
6858
6884
|
* Random helpers
|
|
6859
6885
|
*/
|
|
6886
|
+
const numeric_1 = __webpack_require__(/*! ../numeric */ "./src/maths/numeric.ts");
|
|
6860
6887
|
class rndHelpers {
|
|
6861
6888
|
/**
|
|
6862
6889
|
* Random boolean with a percent ratio
|
|
@@ -6889,6 +6916,13 @@ class rndHelpers {
|
|
|
6889
6916
|
return this.randomInt(-max, max);
|
|
6890
6917
|
}
|
|
6891
6918
|
}
|
|
6919
|
+
static randomPrime(max) {
|
|
6920
|
+
let primes = numeric_1.Numeric.primes();
|
|
6921
|
+
if (max !== undefined) {
|
|
6922
|
+
primes = primes.filter(x => x < max);
|
|
6923
|
+
}
|
|
6924
|
+
return this.randomItem(primes);
|
|
6925
|
+
}
|
|
6892
6926
|
static randomArray(arr, number) {
|
|
6893
6927
|
if (number === undefined) {
|
|
6894
6928
|
number = 1;
|