@mojir/lits 2.1.10 → 2.1.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/dist/cli/cli.js +187 -80
- package/dist/cli/reference/api.d.ts +3 -3
- package/dist/cli/reference/index.d.ts +4 -1
- package/dist/cli/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/length.d.ts +1 -0
- package/dist/cli/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/scale.d.ts +1 -1
- package/dist/cli/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/subtract.d.ts +1 -1
- package/dist/cli/src/tokenizer/operators.d.ts +2 -2
- package/dist/cli/src/utils/index.d.ts +2 -1
- package/dist/index.esm.js +186 -79
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +186 -79
- package/dist/index.js.map +1 -1
- package/dist/lits.iife.js +186 -79
- package/dist/lits.iife.js.map +1 -1
- package/dist/reference/api.d.ts +3 -3
- package/dist/reference/index.d.ts +4 -1
- package/dist/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/length.d.ts +1 -0
- package/dist/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/scale.d.ts +1 -1
- package/dist/src/builtin/normalExpressions/categories/namespaces/linearAlgebra/helpers/subtract.d.ts +1 -1
- package/dist/src/tokenizer/operators.d.ts +2 -2
- package/dist/src/utils/index.d.ts +2 -1
- package/dist/testFramework.esm.js +87 -55
- package/dist/testFramework.esm.js.map +1 -1
- package/dist/testFramework.js +87 -55
- package/dist/testFramework.js.map +1 -1
- package/package.json +1 -1
package/dist/lits.iife.js
CHANGED
|
@@ -698,7 +698,7 @@ var Lits = (function (exports) {
|
|
|
698
698
|
if (a === b)
|
|
699
699
|
return true;
|
|
700
700
|
if (typeof a === 'number' && typeof b === 'number')
|
|
701
|
-
return
|
|
701
|
+
return approxEqual(a, b);
|
|
702
702
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
703
703
|
if (a.length !== b.length)
|
|
704
704
|
return false;
|
|
@@ -798,9 +798,8 @@ var Lits = (function (exports) {
|
|
|
798
798
|
// Use relative error for larger values
|
|
799
799
|
return diff / (absA + absB) < epsilon;
|
|
800
800
|
}
|
|
801
|
-
function approxZero(value
|
|
802
|
-
|
|
803
|
-
return Math.abs(value) < epsilon;
|
|
801
|
+
function approxZero(value) {
|
|
802
|
+
return Math.abs(value) < EPSILON;
|
|
804
803
|
}
|
|
805
804
|
|
|
806
805
|
// isArray not needed, use Array.isArary
|
|
@@ -2561,30 +2560,6 @@ var Lits = (function (exports) {
|
|
|
2561
2560
|
},
|
|
2562
2561
|
paramCount: {},
|
|
2563
2562
|
},
|
|
2564
|
-
'~': {
|
|
2565
|
-
evaluate: function (params, sourceCodeInfo) {
|
|
2566
|
-
var _a;
|
|
2567
|
-
var _b = __read(getNumberVectorOrMatrixOperation([params[0], params[1]], sourceCodeInfo), 2), operation = _b[0], operands = _b[1];
|
|
2568
|
-
var eplsilon = (_a = params[2]) !== null && _a !== void 0 ? _a : 1e-10;
|
|
2569
|
-
assertNumber(eplsilon, sourceCodeInfo, { positive: true, finite: true });
|
|
2570
|
-
if (operation === 'number') {
|
|
2571
|
-
var _c = __read(operands, 2), first = _c[0], second = _c[1];
|
|
2572
|
-
return approxEqual(first, second, eplsilon);
|
|
2573
|
-
}
|
|
2574
|
-
else if (operation === 'vector') {
|
|
2575
|
-
var firstVector = operands[0];
|
|
2576
|
-
var secondVector_1 = operands[1];
|
|
2577
|
-
return firstVector.every(function (val, i) { return approxEqual(val, secondVector_1[i], eplsilon); });
|
|
2578
|
-
}
|
|
2579
|
-
else {
|
|
2580
|
-
var firstMatrix = operands[0];
|
|
2581
|
-
var secondMatrix_1 = operands[1];
|
|
2582
|
-
return firstMatrix.every(function (row, i) { return row.every(function (val, j) { return approxEqual(val, secondMatrix_1[i][j], eplsilon); }); });
|
|
2583
|
-
}
|
|
2584
|
-
},
|
|
2585
|
-
paramCount: { min: 2, max: 3 },
|
|
2586
|
-
aliases: ['≈'],
|
|
2587
|
-
},
|
|
2588
2563
|
'quot': {
|
|
2589
2564
|
evaluate: function (params, sourceCodeInfo) {
|
|
2590
2565
|
var _a = __read(getNumberVectorOrMatrixOperation(params, sourceCodeInfo), 2), operation = _a[0], operands = _a[1];
|
|
@@ -2593,13 +2568,13 @@ var Lits = (function (exports) {
|
|
|
2593
2568
|
}
|
|
2594
2569
|
else if (operation === 'vector') {
|
|
2595
2570
|
var firstVector = operands[0];
|
|
2596
|
-
var
|
|
2597
|
-
return firstVector.map(function (val, i) { return Math.trunc(val /
|
|
2571
|
+
var secondVector_1 = operands[1];
|
|
2572
|
+
return firstVector.map(function (val, i) { return Math.trunc(val / secondVector_1[i]); });
|
|
2598
2573
|
}
|
|
2599
2574
|
else {
|
|
2600
2575
|
var firstMatrix = operands[0];
|
|
2601
|
-
var
|
|
2602
|
-
return firstMatrix.map(function (row, i) { return row.map(function (val, j) { return Math.trunc(val /
|
|
2576
|
+
var secondMatrix_1 = operands[1];
|
|
2577
|
+
return firstMatrix.map(function (row, i) { return row.map(function (val, j) { return Math.trunc(val / secondMatrix_1[i][j]); }); });
|
|
2603
2578
|
}
|
|
2604
2579
|
},
|
|
2605
2580
|
paramCount: 2,
|
|
@@ -2613,19 +2588,19 @@ var Lits = (function (exports) {
|
|
|
2613
2588
|
}
|
|
2614
2589
|
else if (operation === 'vector') {
|
|
2615
2590
|
var firstVector = operands[0];
|
|
2616
|
-
var
|
|
2591
|
+
var secondVector_2 = operands[1];
|
|
2617
2592
|
return firstVector.map(function (dividend, i) {
|
|
2618
|
-
var divisor =
|
|
2593
|
+
var divisor = secondVector_2[i];
|
|
2619
2594
|
var quotient = Math.floor(dividend / divisor);
|
|
2620
2595
|
return dividend - divisor * quotient;
|
|
2621
2596
|
});
|
|
2622
2597
|
}
|
|
2623
2598
|
else {
|
|
2624
2599
|
var firstMatrix = operands[0];
|
|
2625
|
-
var
|
|
2600
|
+
var secondMatrix_2 = operands[1];
|
|
2626
2601
|
return firstMatrix.map(function (row, i) { return row.map(function (val, j) {
|
|
2627
|
-
var quotient = Math.floor(val /
|
|
2628
|
-
return val -
|
|
2602
|
+
var quotient = Math.floor(val / secondMatrix_2[i][j]);
|
|
2603
|
+
return val - secondMatrix_2[i][j] * quotient;
|
|
2629
2604
|
}); });
|
|
2630
2605
|
}
|
|
2631
2606
|
},
|
|
@@ -2639,13 +2614,13 @@ var Lits = (function (exports) {
|
|
|
2639
2614
|
}
|
|
2640
2615
|
else if (operation === 'vector') {
|
|
2641
2616
|
var firstVector = operands[0];
|
|
2642
|
-
var
|
|
2643
|
-
return firstVector.map(function (dividend, i) { return dividend %
|
|
2617
|
+
var secondVector_3 = operands[1];
|
|
2618
|
+
return firstVector.map(function (dividend, i) { return dividend % secondVector_3[i]; });
|
|
2644
2619
|
}
|
|
2645
2620
|
else {
|
|
2646
2621
|
var firstMatrix = operands[0];
|
|
2647
|
-
var
|
|
2648
|
-
return firstMatrix.map(function (row, i) { return row.map(function (dividend, j) { return dividend %
|
|
2622
|
+
var secondMatrix_3 = operands[1];
|
|
2623
|
+
return firstMatrix.map(function (row, i) { return row.map(function (dividend, j) { return dividend % secondMatrix_3[i][j]; }); });
|
|
2649
2624
|
}
|
|
2650
2625
|
},
|
|
2651
2626
|
paramCount: 2,
|
|
@@ -2695,13 +2670,13 @@ var Lits = (function (exports) {
|
|
|
2695
2670
|
}
|
|
2696
2671
|
else if (operation === 'vector') {
|
|
2697
2672
|
var firstVector = operands[0];
|
|
2698
|
-
var
|
|
2699
|
-
return firstVector.map(function (base, i) { return Math.pow(base,
|
|
2673
|
+
var secondVector_4 = operands[1];
|
|
2674
|
+
return firstVector.map(function (base, i) { return Math.pow(base, secondVector_4[i]); });
|
|
2700
2675
|
}
|
|
2701
2676
|
else {
|
|
2702
2677
|
var firstMatrix = operands[0];
|
|
2703
|
-
var
|
|
2704
|
-
return firstMatrix.map(function (row, i) { return row.map(function (base, j) { return Math.pow(base,
|
|
2678
|
+
var secondMatrix_4 = operands[1];
|
|
2679
|
+
return firstMatrix.map(function (row, i) { return row.map(function (base, j) { return Math.pow(base, secondMatrix_4[i][j]); }); });
|
|
2705
2680
|
}
|
|
2706
2681
|
},
|
|
2707
2682
|
paramCount: 2,
|
|
@@ -3113,6 +3088,40 @@ var Lits = (function (exports) {
|
|
|
3113
3088
|
},
|
|
3114
3089
|
paramCount: 1,
|
|
3115
3090
|
},
|
|
3091
|
+
'to-rad': {
|
|
3092
|
+
evaluate: function (params, sourceCodeInfo) {
|
|
3093
|
+
var _a = __read(getNumberVectorOrMatrixOperation(params, sourceCodeInfo), 2), operation = _a[0], operands = _a[1];
|
|
3094
|
+
if (operation === 'number') {
|
|
3095
|
+
return (operands[0] * Math.PI) / 180;
|
|
3096
|
+
}
|
|
3097
|
+
else if (operation === 'vector') {
|
|
3098
|
+
var vector = operands[0];
|
|
3099
|
+
return vector.map(function (val) { return (val * Math.PI) / 180; });
|
|
3100
|
+
}
|
|
3101
|
+
else {
|
|
3102
|
+
var matrix = operands[0];
|
|
3103
|
+
return matrix.map(function (row) { return row.map(function (val) { return (val * Math.PI) / 180; }); });
|
|
3104
|
+
}
|
|
3105
|
+
},
|
|
3106
|
+
paramCount: 1,
|
|
3107
|
+
},
|
|
3108
|
+
'to-deg': {
|
|
3109
|
+
evaluate: function (params, sourceCodeInfo) {
|
|
3110
|
+
var _a = __read(getNumberVectorOrMatrixOperation(params, sourceCodeInfo), 2), operation = _a[0], operands = _a[1];
|
|
3111
|
+
if (operation === 'number') {
|
|
3112
|
+
return (operands[0] * 180) / Math.PI;
|
|
3113
|
+
}
|
|
3114
|
+
else if (operation === 'vector') {
|
|
3115
|
+
var vector = operands[0];
|
|
3116
|
+
return vector.map(function (val) { return (val * 180) / Math.PI; });
|
|
3117
|
+
}
|
|
3118
|
+
else {
|
|
3119
|
+
var matrix = operands[0];
|
|
3120
|
+
return matrix.map(function (row) { return row.map(function (val) { return (val * 180) / Math.PI; }); });
|
|
3121
|
+
}
|
|
3122
|
+
},
|
|
3123
|
+
paramCount: 1,
|
|
3124
|
+
},
|
|
3116
3125
|
};
|
|
3117
3126
|
|
|
3118
3127
|
function isEqual(_a, sourceCodeInfo) {
|
|
@@ -3732,9 +3741,9 @@ var Lits = (function (exports) {
|
|
|
3732
3741
|
},
|
|
3733
3742
|
'zero?': {
|
|
3734
3743
|
evaluate: function (_a, sourceCodeInfo) {
|
|
3735
|
-
var _b = __read(_a, 1),
|
|
3736
|
-
assertNumber(
|
|
3737
|
-
return
|
|
3744
|
+
var _b = __read(_a, 1), value = _b[0];
|
|
3745
|
+
assertNumber(value, sourceCodeInfo, { finite: true });
|
|
3746
|
+
return Math.abs(value) < EPSILON;
|
|
3738
3747
|
},
|
|
3739
3748
|
paramCount: 1,
|
|
3740
3749
|
},
|
|
@@ -6580,6 +6589,10 @@ var Lits = (function (exports) {
|
|
|
6580
6589
|
return vector.map(function (item) { return item * scalar; });
|
|
6581
6590
|
}
|
|
6582
6591
|
|
|
6592
|
+
function length(vector) {
|
|
6593
|
+
return Math.sqrt(vector.reduce(function (acc, item) { return acc + Math.pow(item, 2); }, 0));
|
|
6594
|
+
}
|
|
6595
|
+
|
|
6583
6596
|
var linearAlgebraNormalExpression = {
|
|
6584
6597
|
'lin:rotate2d': {
|
|
6585
6598
|
evaluate: function (_a, sourceCodeInfo) {
|
|
@@ -6904,7 +6917,7 @@ var Lits = (function (exports) {
|
|
|
6904
6917
|
evaluate: function (_a, sourceCodeInfo) {
|
|
6905
6918
|
var _b = __read(_a, 1), vector = _b[0];
|
|
6906
6919
|
assertNonEmptyVector(vector, sourceCodeInfo);
|
|
6907
|
-
return
|
|
6920
|
+
return length(vector);
|
|
6908
6921
|
},
|
|
6909
6922
|
paramCount: 1,
|
|
6910
6923
|
aliases: ['lin:l2-norm', 'lin:length'],
|
|
@@ -7210,6 +7223,31 @@ var Lits = (function (exports) {
|
|
|
7210
7223
|
},
|
|
7211
7224
|
paramCount: 2,
|
|
7212
7225
|
},
|
|
7226
|
+
'lin:to-polar': {
|
|
7227
|
+
evaluate: function (_a, sourceCodeInfo) {
|
|
7228
|
+
var _b = __read(_a, 1), vector = _b[0];
|
|
7229
|
+
assert2dVector(vector, sourceCodeInfo);
|
|
7230
|
+
if (isZeroVector(vector)) {
|
|
7231
|
+
return [0, 0];
|
|
7232
|
+
}
|
|
7233
|
+
var r = Math.sqrt(Math.pow(vector[0], 2) + Math.pow(vector[1], 2));
|
|
7234
|
+
var theta = Math.atan2(vector[1], vector[0]);
|
|
7235
|
+
return [r, theta];
|
|
7236
|
+
},
|
|
7237
|
+
paramCount: 1,
|
|
7238
|
+
},
|
|
7239
|
+
'lin:from-polar': {
|
|
7240
|
+
evaluate: function (_a, sourceCodeInfo) {
|
|
7241
|
+
var _b = __read(_a, 1), polar = _b[0];
|
|
7242
|
+
assert2dVector(polar, sourceCodeInfo);
|
|
7243
|
+
var _c = __read(polar, 2), r = _c[0], theta = _c[1];
|
|
7244
|
+
if (r === 0) {
|
|
7245
|
+
return [0, 0];
|
|
7246
|
+
}
|
|
7247
|
+
return [r * Math.cos(theta), r * Math.sin(theta)];
|
|
7248
|
+
},
|
|
7249
|
+
paramCount: 1,
|
|
7250
|
+
},
|
|
7213
7251
|
};
|
|
7214
7252
|
|
|
7215
7253
|
/**
|
|
@@ -12892,8 +12930,6 @@ var Lits = (function (exports) {
|
|
|
12892
12930
|
'=', // equal
|
|
12893
12931
|
'!=', // not equal
|
|
12894
12932
|
'≠', // not equal
|
|
12895
|
-
'~', // approximate
|
|
12896
|
-
'≈', // approximate
|
|
12897
12933
|
'&', // bitwise AND
|
|
12898
12934
|
'xor', // bitwise XOR
|
|
12899
12935
|
'|', // bitwise OR
|
|
@@ -13536,8 +13572,6 @@ var Lits = (function (exports) {
|
|
|
13536
13572
|
case '=': // equal
|
|
13537
13573
|
case '!=': // not equal
|
|
13538
13574
|
case '≠': // not equal
|
|
13539
|
-
case '~': // approximate
|
|
13540
|
-
case '≈': // approximate
|
|
13541
13575
|
return 5;
|
|
13542
13576
|
case '&': // bitwise AND
|
|
13543
13577
|
case 'xor': // bitwise XOR
|
|
@@ -13591,8 +13625,6 @@ var Lits = (function (exports) {
|
|
|
13591
13625
|
case '&':
|
|
13592
13626
|
case 'xor':
|
|
13593
13627
|
case '|':
|
|
13594
|
-
case '~':
|
|
13595
|
-
case '≈':
|
|
13596
13628
|
case '|>':
|
|
13597
13629
|
return createNamedNormalExpressionNode(symbolNode, [left, right], sourceCodeInfo);
|
|
13598
13630
|
case '&&':
|
|
@@ -14978,7 +15010,6 @@ var Lits = (function (exports) {
|
|
|
14978
15010
|
'-',
|
|
14979
15011
|
'*',
|
|
14980
15012
|
'/',
|
|
14981
|
-
'~',
|
|
14982
15013
|
'mod',
|
|
14983
15014
|
'rem',
|
|
14984
15015
|
'quot',
|
|
@@ -15010,6 +15041,8 @@ var Lits = (function (exports) {
|
|
|
15010
15041
|
'asinh',
|
|
15011
15042
|
'acosh',
|
|
15012
15043
|
'atanh',
|
|
15044
|
+
'to-rad',
|
|
15045
|
+
'to-deg',
|
|
15013
15046
|
],
|
|
15014
15047
|
functional: [
|
|
15015
15048
|
'|>',
|
|
@@ -15282,6 +15315,8 @@ var Lits = (function (exports) {
|
|
|
15282
15315
|
'lin:cross-correlation',
|
|
15283
15316
|
'lin:rref',
|
|
15284
15317
|
'lin:solve',
|
|
15318
|
+
'lin:to-polar',
|
|
15319
|
+
'lin:from-polar',
|
|
15285
15320
|
],
|
|
15286
15321
|
numberTheory: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(getNumberTheorySequenceNames('abundant')), false), __read(getNumberTheorySequenceNames('bell')), false), __read(getNumberTheorySequenceNames('catalan')), false), __read(getNumberTheorySequenceNames('composite')), false), __read(getNumberTheorySequenceNames('factorial')), false), __read(getNumberTheorySequenceNames('fibonacci')), false), __read(getNumberTheorySequenceNames('geometric')), false), __read(getNumberTheorySequenceNames('golomb')), false), __read(getNumberTheorySequenceNames('happy')), false), __read(getNumberTheorySequenceNames('look-and-say')), false), __read(getNumberTheorySequenceNames('lucas')), false), __read(getNumberTheorySequenceNames('lucky')), false), __read(getNumberTheorySequenceNames('mersenne')), false), __read(getNumberTheorySequenceNames('padovan')), false), __read(getNumberTheorySequenceNames('partition')), false), __read(getNumberTheorySequenceNames('pell')), false), __read(getNumberTheorySequenceNames('perfect')), false), __read(getNumberTheorySequenceNames('perfect-cube')), false), __read(getNumberTheorySequenceNames('perfect-power')), false), __read(getNumberTheorySequenceNames('perfect-square')), false), __read(getNumberTheorySequenceNames('polygonal')), false), __read(getNumberTheorySequenceNames('prime')), false), __read(getNumberTheorySequenceNames('recaman')), false), __read(getNumberTheorySequenceNames('sylvester')), false), __read(getNumberTheorySequenceNames('thue-morse')), false), __read(getNumberTheorySequenceNames('tribonacci')), false), [
|
|
15287
15322
|
'nth:collatz-seq',
|
|
@@ -16991,29 +17026,6 @@ var Lits = (function (exports) {
|
|
|
16991
17026
|
'[[1, 2, 3], [4, 5, 6]] / 2',
|
|
16992
17027
|
],
|
|
16993
17028
|
},
|
|
16994
|
-
'~': {
|
|
16995
|
-
title: '~',
|
|
16996
|
-
category: 'Math',
|
|
16997
|
-
linkName: '-tilde',
|
|
16998
|
-
returns: {
|
|
16999
|
-
type: ['number', 'vector', 'matrix'],
|
|
17000
|
-
},
|
|
17001
|
-
args: __assign({}, mixedOperatorArgs),
|
|
17002
|
-
variants: [
|
|
17003
|
-
{ argumentNames: ['a, b'] },
|
|
17004
|
-
],
|
|
17005
|
-
description: 'The `~` checks for approximately equal values, returning `true` if the absolute difference between the two numbers is less than or equal to a small threshold (default: `1e-10`). It works on `numbers` and element-wise on `vectors` and `matrices`. When applied to collections, it checks each element for approximate equality.',
|
|
17006
|
-
examples: [
|
|
17007
|
-
'~(0.1, 0.1)',
|
|
17008
|
-
'~(0.1, 0.10000000000001)',
|
|
17009
|
-
'~(0.1, 0.2)',
|
|
17010
|
-
'~(0.1, 0.101, 0.1)',
|
|
17011
|
-
'~([1, 2, 3], [1.00000000000001, 2.00000000000001, 3.00000000000001])',
|
|
17012
|
-
'~([1, 2, 3], [1.1, 2.1, 3.1])',
|
|
17013
|
-
'~([[1, 2, 3], [1, 2, 3]], [[1.01, 2.01, 3.01], [1.01, 2.01, 3.01]], 0.1)',
|
|
17014
|
-
],
|
|
17015
|
-
aliases: ['≈'],
|
|
17016
|
-
},
|
|
17017
17029
|
'mod': {
|
|
17018
17030
|
title: 'mod',
|
|
17019
17031
|
category: 'Math',
|
|
@@ -17791,6 +17803,56 @@ var Lits = (function (exports) {
|
|
|
17791
17803
|
'atanh([[0.1, 0.2], [0.3, 0.4]])',
|
|
17792
17804
|
],
|
|
17793
17805
|
},
|
|
17806
|
+
'to-rad': {
|
|
17807
|
+
title: 'to-rad',
|
|
17808
|
+
category: 'Math',
|
|
17809
|
+
linkName: 'to-rad',
|
|
17810
|
+
returns: {
|
|
17811
|
+
type: ['number', 'vector', 'matrix'],
|
|
17812
|
+
},
|
|
17813
|
+
args: {
|
|
17814
|
+
x: {
|
|
17815
|
+
type: ['number', 'vector', 'matrix'],
|
|
17816
|
+
},
|
|
17817
|
+
},
|
|
17818
|
+
variants: [
|
|
17819
|
+
{ argumentNames: ['x'] },
|
|
17820
|
+
],
|
|
17821
|
+
description: 'The `to-rad` function converts an angle from degrees to radians, working on `numbers` and element-wise on `vectors` and `matrices`. When applied to collections, it converts each element while preserving the original structure.',
|
|
17822
|
+
examples: [
|
|
17823
|
+
'to-rad(0)',
|
|
17824
|
+
'to-rad(90)',
|
|
17825
|
+
'to-rad(180)',
|
|
17826
|
+
'to-rad(360)',
|
|
17827
|
+
'to-rad([0, 90, 180])',
|
|
17828
|
+
'to-rad([[0, 90], [180, 360]])',
|
|
17829
|
+
],
|
|
17830
|
+
},
|
|
17831
|
+
'to-deg': {
|
|
17832
|
+
title: 'to-deg',
|
|
17833
|
+
category: 'Math',
|
|
17834
|
+
linkName: 'to-deg',
|
|
17835
|
+
returns: {
|
|
17836
|
+
type: ['number', 'vector', 'matrix'],
|
|
17837
|
+
},
|
|
17838
|
+
args: {
|
|
17839
|
+
x: {
|
|
17840
|
+
type: ['number', 'vector', 'matrix'],
|
|
17841
|
+
},
|
|
17842
|
+
},
|
|
17843
|
+
variants: [
|
|
17844
|
+
{ argumentNames: ['x'] },
|
|
17845
|
+
],
|
|
17846
|
+
description: 'The `to-deg` function converts an angle from radians to degrees, working on `numbers` and element-wise on `vectors` and `matrices`. When applied to collections, it converts each element while preserving the original structure.',
|
|
17847
|
+
examples: [
|
|
17848
|
+
'to-deg(0)',
|
|
17849
|
+
'to-deg(PI)',
|
|
17850
|
+
'to-deg(PI / 2)',
|
|
17851
|
+
'to-deg(3 * PI / 2)',
|
|
17852
|
+
'to-deg([0, PI, PI / 2])',
|
|
17853
|
+
'to-deg([[0, PI], [PI / 2, 3 * PI / 2]])',
|
|
17854
|
+
],
|
|
17855
|
+
},
|
|
17794
17856
|
};
|
|
17795
17857
|
|
|
17796
17858
|
var miscReference = {
|
|
@@ -24244,6 +24306,51 @@ var Lits = (function (exports) {
|
|
|
24244
24306
|
'lin:solve([[2, 3], [1, -1]], [8, 2])',
|
|
24245
24307
|
],
|
|
24246
24308
|
},
|
|
24309
|
+
'lin:to-polar': {
|
|
24310
|
+
title: 'lin:to-polar',
|
|
24311
|
+
category: 'Linear Algebra',
|
|
24312
|
+
description: 'Converts a 2D vector to polar coordinates.',
|
|
24313
|
+
linkName: 'lin-colon-to-polar',
|
|
24314
|
+
returns: {
|
|
24315
|
+
type: 'vector',
|
|
24316
|
+
},
|
|
24317
|
+
args: {
|
|
24318
|
+
vector: {
|
|
24319
|
+
type: 'vector',
|
|
24320
|
+
description: '2D Vector to convert.',
|
|
24321
|
+
},
|
|
24322
|
+
},
|
|
24323
|
+
variants: [
|
|
24324
|
+
{ argumentNames: ['vector'] },
|
|
24325
|
+
],
|
|
24326
|
+
examples: [
|
|
24327
|
+
'lin:to-polar([1, 2])',
|
|
24328
|
+
'lin:to-polar([3, 4])',
|
|
24329
|
+
],
|
|
24330
|
+
},
|
|
24331
|
+
'lin:from-polar': {
|
|
24332
|
+
title: 'lin:from-polar',
|
|
24333
|
+
category: 'Linear Algebra',
|
|
24334
|
+
description: 'Converts polar coordinates to a 2D vector.',
|
|
24335
|
+
linkName: 'lin-colon-from-polar',
|
|
24336
|
+
returns: {
|
|
24337
|
+
type: 'vector',
|
|
24338
|
+
},
|
|
24339
|
+
args: {
|
|
24340
|
+
polar: {
|
|
24341
|
+
type: 'vector',
|
|
24342
|
+
description: 'Polar coordinates to convert.',
|
|
24343
|
+
},
|
|
24344
|
+
},
|
|
24345
|
+
variants: [
|
|
24346
|
+
{ argumentNames: ['polar'] },
|
|
24347
|
+
],
|
|
24348
|
+
examples: [
|
|
24349
|
+
'lin:from-polar([1, PI / 4])',
|
|
24350
|
+
'lin:from-polar([1, 0])',
|
|
24351
|
+
'lin:from-polar([1, -PI / 2])',
|
|
24352
|
+
],
|
|
24353
|
+
},
|
|
24247
24354
|
};
|
|
24248
24355
|
|
|
24249
24356
|
var predicateReference = {
|