nerdamer 2.0.0-rc.1 → 2.0.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.
Files changed (236) hide show
  1. package/BREAKING_CHANGES.md +244 -0
  2. package/README.md +168 -229
  3. package/dist/bundle.js +1 -1
  4. package/dist/bundle.js.LICENSE.txt +6 -6
  5. package/output/algebra/adapters.d.ts +3 -33
  6. package/output/algebra/adapters.js +7 -105
  7. package/output/algebra/algorithms/arith.js +10 -9
  8. package/output/algebra/algorithms/groebnerBase.d.ts +24 -20
  9. package/output/algebra/algorithms/groebnerBase.js +486 -723
  10. package/output/algebra/dispatch.d.ts +1 -0
  11. package/output/algebra/dispatch.js +25 -0
  12. package/output/algebra/factor/factor.d.ts +15 -0
  13. package/output/algebra/factor/factor.js +99 -12
  14. package/output/algebra/gcd/gcd.d.ts +8 -7
  15. package/output/algebra/gcd/gcd.js +32 -78
  16. package/output/algebra/groebner.d.ts +2 -2
  17. package/output/algebra/groebner.js +6 -12
  18. package/output/algebra/partfrac.d.ts +3 -3
  19. package/output/algebra/partfrac.js +28 -61
  20. package/output/algebra/polynomial/ModularSparsePolynomial.d.ts +131 -0
  21. package/output/algebra/polynomial/ModularSparsePolynomial.js +378 -0
  22. package/output/algebra/polynomial/ModularSparsePolynomialFactor.d.ts +40 -0
  23. package/output/algebra/polynomial/ModularSparsePolynomialFactor.js +661 -0
  24. package/output/algebra/polynomial/SparsePolynomialFactor.d.ts +64 -0
  25. package/output/algebra/polynomial/SparsePolynomialFactor.js +492 -0
  26. package/output/algebra/polynomial/SparsePolynomialGcd.d.ts +29 -0
  27. package/output/algebra/polynomial/SparsePolynomialGcd.js +259 -0
  28. package/output/algebra/polynomial/SparsePolynomialMultivariateFactor.d.ts +82 -0
  29. package/output/algebra/polynomial/SparsePolynomialMultivariateFactor.js +604 -0
  30. package/output/algebra/polynomial/modularGcd.d.ts +40 -0
  31. package/output/algebra/polynomial/modularGcd.js +365 -0
  32. package/output/algebra/polynomialize.js +4 -2
  33. package/output/algebra/simplify/funcsimp.js +1 -1
  34. package/output/algebra/simplify/ratsimp.js +1 -1
  35. package/output/algebra/simplify/simplify.js +11 -2
  36. package/output/algebra/utils.d.ts +1 -1
  37. package/output/algebra/utils.js +3 -3
  38. package/output/api/advanced.d.ts +2 -1
  39. package/output/api/advanced.js +3 -3
  40. package/output/api/algebra.d.ts +21 -4
  41. package/output/api/algebra.js +22 -3
  42. package/output/api/assumptions.d.ts +1 -1
  43. package/output/api/assumptions.js +2 -1
  44. package/output/api/calculus.d.ts +2 -1
  45. package/output/api/calculus.js +2 -1
  46. package/output/api/core.d.ts +28 -7
  47. package/output/api/core.js +28 -2
  48. package/output/api/languages/deu.d.ts +3 -0
  49. package/output/api/languages/deu.js +266 -0
  50. package/output/api/languages/fra.d.ts +3 -0
  51. package/output/api/languages/fra.js +266 -0
  52. package/output/api/languages/ita.d.ts +3 -0
  53. package/output/api/languages/ita.js +266 -0
  54. package/output/api/languages/nld.d.ts +3 -0
  55. package/output/api/languages/nld.js +266 -0
  56. package/output/api/languages/por.d.ts +3 -0
  57. package/output/api/languages/por.js +266 -0
  58. package/output/api/languages/spa.d.ts +3 -0
  59. package/output/api/languages/spa.js +266 -0
  60. package/output/api/parser.d.ts +10 -2
  61. package/output/api/parser.js +2 -0
  62. package/output/api/solve.d.ts +1 -1
  63. package/output/api/solve.js +2 -1
  64. package/output/api/structures.d.ts +1 -1
  65. package/output/api/structures.js +2 -1
  66. package/output/calculus/adapters.d.ts +8 -0
  67. package/output/calculus/adapters.js +41 -0
  68. package/output/calculus/derivative/diff.js +6 -3
  69. package/output/calculus/dispatch.d.ts +1 -0
  70. package/output/calculus/dispatch.js +25 -0
  71. package/output/calculus/integrate/integrate.js +4 -4
  72. package/output/calculus/integrate/integrationTable.js +16 -16
  73. package/output/calculus/laplace/ilaplace.js +1 -1
  74. package/output/calculus/laplace/ilaplaceTable.js +18 -17
  75. package/output/calculus/laplace/laplaceTable.js +3 -2
  76. package/output/calculus/limit/limit.js +1 -1
  77. package/output/core/classes/assumption/Assumption.js +14 -10
  78. package/output/core/classes/assumption/assume.d.ts +6 -0
  79. package/output/core/classes/assumption/assume.js +9 -0
  80. package/output/core/classes/assumption/dispatch.d.ts +1 -0
  81. package/output/core/classes/assumption/dispatch.js +11 -0
  82. package/output/core/classes/collection/Collection.js +11 -2
  83. package/output/core/classes/complex/Complex.d.ts +10 -0
  84. package/output/core/classes/complex/Complex.js +19 -1
  85. package/output/core/classes/decimalSet/DecimalSet.js +5 -4
  86. package/output/core/classes/dictionary/Dictionary.js +4 -1
  87. package/output/core/classes/expression/CoeffObject.d.ts +1 -1
  88. package/output/core/classes/expression/CoeffObject.js +1 -2
  89. package/output/core/classes/expression/Expression.d.ts +35 -26
  90. package/output/core/classes/expression/Expression.js +77 -50
  91. package/output/core/classes/expression/analysis.d.ts +1 -1
  92. package/output/core/classes/expression/analysis.js +7 -7
  93. package/output/core/classes/expression/format.d.ts +9 -0
  94. package/output/core/classes/expression/format.js +130 -7
  95. package/output/core/classes/expression/utils.d.ts +9 -0
  96. package/output/core/classes/expression/utils.js +52 -6
  97. package/output/core/classes/matrix/Matrix.d.ts +2 -3
  98. package/output/core/classes/matrix/Matrix.js +26 -23
  99. package/output/core/classes/matrix/dispatch.d.ts +1 -0
  100. package/output/core/classes/matrix/dispatch.js +19 -0
  101. package/output/core/classes/matrix/functions.d.ts +2 -0
  102. package/output/core/classes/matrix/functions.js +5 -0
  103. package/output/core/classes/parser/Parser.d.ts +31 -5
  104. package/output/core/classes/parser/Parser.js +357 -444
  105. package/output/core/classes/parser/constants.d.ts +2 -0
  106. package/output/core/classes/parser/constants.js +4 -2
  107. package/output/core/classes/parser/controlFlowSignals.d.ts +38 -0
  108. package/output/core/classes/parser/controlFlowSignals.js +60 -0
  109. package/output/core/classes/parser/operations/add.js +14 -16
  110. package/output/core/classes/parser/operations/compare.js +13 -0
  111. package/output/core/classes/parser/operations/functions.d.ts +3 -4
  112. package/output/core/classes/parser/operations/functions.js +48 -102
  113. package/output/core/classes/parser/operations/multiply.js +22 -15
  114. package/output/core/classes/parser/operations/power.js +11 -11
  115. package/output/core/classes/parser/operations/subtract.js +2 -1
  116. package/output/core/classes/parser/preprocess.d.ts +0 -7
  117. package/output/core/classes/parser/preprocess.js +33 -39
  118. package/output/core/classes/parser/scripting/controlFlow.d.ts +4 -102
  119. package/output/core/classes/parser/scripting/controlFlow.js +134 -186
  120. package/output/core/classes/parser/scripting/deferred.d.ts +4 -0
  121. package/output/core/classes/parser/scripting/deferred.js +65 -0
  122. package/output/core/classes/parser/scripting/dispatch.d.ts +1 -0
  123. package/output/core/classes/parser/scripting/dispatch.js +62 -0
  124. package/output/core/classes/parser/scripting/evaluate.d.ts +13 -0
  125. package/output/core/classes/parser/scripting/evaluate.js +17 -1
  126. package/output/core/classes/parser/scripting/scope.d.ts +1 -28
  127. package/output/core/classes/parser/scripting/scope.js +36 -40
  128. package/output/core/classes/parser/types.d.ts +5 -5
  129. package/output/core/classes/parser/wrappers/IndexedReference.d.ts +4 -3
  130. package/output/core/classes/parser/wrappers/IndexedReference.js +8 -0
  131. package/output/core/classes/parser/wrappers/KeyValuePair.d.ts +2 -2
  132. package/output/core/classes/polynomial/Polynomial.d.ts +5 -1
  133. package/output/core/classes/polynomial/Polynomial.js +53 -7
  134. package/output/core/classes/polynomial/SparsePolynomial.d.ts +221 -0
  135. package/output/core/classes/polynomial/SparsePolynomial.js +824 -0
  136. package/output/core/classes/polynomial/SparsePolynomialAdapter.d.ts +56 -0
  137. package/output/core/classes/polynomial/SparsePolynomialAdapter.js +241 -0
  138. package/output/core/classes/polynomial/Term.js +2 -2
  139. package/output/core/{adapters.d.ts → classes/polynomial/adapters.d.ts} +2 -2
  140. package/output/core/classes/polynomial/adapters.js +33 -0
  141. package/output/core/classes/polynomial/dispatch.d.ts +1 -0
  142. package/output/core/classes/polynomial/dispatch.js +14 -0
  143. package/output/core/classes/polynomial/functions.d.ts +8 -0
  144. package/output/core/classes/polynomial/functions.js +71 -8
  145. package/output/core/classes/polynomial/utils.js +2 -1
  146. package/output/core/classes/rational/Rational.d.ts +8 -11
  147. package/output/core/classes/rational/Rational.js +70 -20
  148. package/output/core/classes/seq/SEQ.js +4 -4
  149. package/output/core/classes/valuesSet/ValuesSet.d.ts +9 -1
  150. package/output/core/classes/valuesSet/ValuesSet.js +22 -4
  151. package/output/core/classes/vector/Vector.d.ts +2 -3
  152. package/output/core/classes/vector/Vector.js +11 -15
  153. package/output/core/classes/vector/dispatch.d.ts +1 -0
  154. package/output/core/classes/vector/dispatch.js +11 -0
  155. package/output/core/common/classes/MathematicalAggregate.js +11 -2
  156. package/output/core/common/classes/StructuredEntity.d.ts +0 -17
  157. package/output/core/common/classes/StructuredEntity.js +3 -64
  158. package/output/core/common/common.d.ts +0 -1
  159. package/output/core/common/common.js +29 -234
  160. package/output/core/converters/BaseConverter.js +3 -2
  161. package/output/core/converters/Converter.js +9 -5
  162. package/output/core/converters/Pattern.js +1 -1
  163. package/output/core/dispatch.d.ts +18 -0
  164. package/output/core/dispatch.js +3 -281
  165. package/output/core/errors.d.ts +259 -474
  166. package/output/core/errors.js +270 -542
  167. package/output/core/fullFunctions.d.ts +7 -0
  168. package/output/core/fullFunctions.js +31 -0
  169. package/output/core/functions/bigint/bigint.d.ts +13 -1
  170. package/output/core/functions/bigint/bigint.js +56 -4
  171. package/output/core/functions/bigint/primeFactor.d.ts +2 -0
  172. package/output/core/functions/bigint/primeFactor.js +13 -13
  173. package/output/core/functions/build/definitions.js +6 -0
  174. package/output/core/functions/complex.d.ts +2 -2
  175. package/output/core/functions/complex.dispatch.d.ts +1 -0
  176. package/output/core/functions/complex.dispatch.js +16 -0
  177. package/output/core/functions/complex.js +7 -7
  178. package/output/core/functions/decimal.js +2 -1
  179. package/output/core/functions/expand/expand.js +2 -2
  180. package/output/core/functions/numeric.d.ts +1 -1
  181. package/output/core/functions/string.js +2 -1
  182. package/output/core/functions/subst.js +21 -13
  183. package/output/core/parserFunctions.d.ts +7 -0
  184. package/output/core/parserFunctions.js +25 -0
  185. package/output/index.d.ts +50 -30
  186. package/output/index.js +147 -19
  187. package/output/math/defint/defint.d.ts +18 -0
  188. package/output/math/defint/defint.js +60 -0
  189. package/output/math/defint/defintDecimal.js +6 -5
  190. package/output/math/defint/defintNative.js +7 -18
  191. package/output/math/dispatch.d.ts +1 -0
  192. package/output/math/dispatch.js +101 -0
  193. package/output/math/geometry.d.ts +4 -0
  194. package/output/math/geometry.js +23 -0
  195. package/output/math/math.d.ts +59 -19
  196. package/output/math/math.js +244 -100
  197. package/output/math/trig.js +4 -4
  198. package/output/math/utils.d.ts +6 -0
  199. package/output/math/utils.js +39 -0
  200. package/output/solve/classes/PolynomialSolver.d.ts +33 -14
  201. package/output/solve/classes/PolynomialSolver.js +267 -67
  202. package/output/solve/classes/SolutionSet.d.ts +20 -1
  203. package/output/solve/classes/SolutionSet.js +82 -5
  204. package/output/solve/dispatch.d.ts +1 -0
  205. package/output/solve/dispatch.js +13 -0
  206. package/output/solve/linsolve.d.ts +2 -0
  207. package/output/solve/linsolve.js +13 -5
  208. package/output/solve/solve.d.ts +10 -0
  209. package/output/solve/solve.js +128 -20
  210. package/output/solve/solveSystem.d.ts +1 -1
  211. package/output/solve/solveSystem.js +8 -32
  212. package/output/solve/utils.d.ts +2 -1
  213. package/output/solve/utils.js +18 -22
  214. package/output/utils/array.d.ts +1 -1
  215. package/output/utils/debug.js +2 -1
  216. package/package.json +22 -38
  217. package/dist/parser.js +0 -2
  218. package/dist/parser.js.LICENSE.txt +0 -7
  219. package/docs-data/parser-functions.json +0 -1960
  220. package/output/algebra/algorithms/factor.d.ts +0 -3
  221. package/output/algebra/algorithms/factor.js +0 -5
  222. package/output/algebra/algorithms/factorMultivariate.d.ts +0 -23
  223. package/output/algebra/algorithms/factorMultivariate.js +0 -2393
  224. package/output/algebra/algorithms/factorUnivariate.d.ts +0 -72
  225. package/output/algebra/algorithms/factorUnivariate.js +0 -1072
  226. package/output/algebra/algorithms/gcd.d.ts +0 -22
  227. package/output/algebra/algorithms/gcd.js +0 -690
  228. package/output/algebra/algorithms/multiPoly/MultiPoly.d.ts +0 -137
  229. package/output/algebra/algorithms/multiPoly/MultiPoly.js +0 -346
  230. package/output/algebra/algorithms/poly.d.ts +0 -228
  231. package/output/algebra/algorithms/poly.js +0 -1299
  232. package/output/algebra/algorithms/rational.d.ts +0 -17
  233. package/output/algebra/algorithms/rational.js +0 -115
  234. package/output/core/adapters.js +0 -40
  235. package/output/core/classes/parser/operations/comma.d.ts +0 -7
  236. package/output/core/classes/parser/operations/comma.js +0 -11
@@ -26,6 +26,7 @@ const ValuesSet_1 = require("../core/classes/valuesSet/ValuesSet");
26
26
  const Vector_1 = require("../core/classes/vector/Vector");
27
27
  const Scope_1 = require("../core/common/classes/Scope");
28
28
  const dispatch_1 = require("../core/dispatch");
29
+ const errors_1 = require("../core/errors");
29
30
  function createTypesMap() {
30
31
  const map = {};
31
32
  for (const [type, value] of Object.entries(Expression_1.Expression.TYPES)) {
@@ -156,7 +157,7 @@ function inspectEntity(entity) {
156
157
  };
157
158
  }
158
159
  else {
159
- throw new TypeError('Unsupported parser entity');
160
+ throw new TypeError((0, errors_1.message)('unsupportedParserEntity'));
160
161
  }
161
162
  return retval;
162
163
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nerdamer",
3
- "version": "2.0.0-rc.1",
3
+ "version": "2.0.0",
4
4
  "publishConfig": {
5
- "tag": "next"
5
+ "tag": "latest"
6
6
  },
7
7
  "description": "A symbolic math library and computer algebra system for JavaScript and TypeScript.",
8
8
  "directory": {
@@ -15,35 +15,30 @@
15
15
  "output",
16
16
  "docs-data",
17
17
  "index.d.ts",
18
- "README.md"
18
+ "README.md",
19
+ "BREAKING_CHANGES.md",
20
+ "docs/MIGRATING_FROM_1X.md",
21
+ "docs/RELEASE_NOTES_2.md"
19
22
  ],
20
23
  "scripts": {
21
- "dev": "nodemon ./tools/dev.ts",
22
24
  "lint": "eslint ./src/**/*.ts",
23
25
  "lint:fix": "eslint ./src/**/*.ts --fix",
24
26
  "typecheck": "tsc -p tsconfig.json --noEmit",
25
27
  "test": "jest",
26
28
  "test:coverage": "jest --coverage --runInBand",
27
- "test:dump": "npm test -- --json --outputFile=test-results.json --testFailureExitCode=1 --testNamePattern=\"^(?!.*\\[slow\\])\"",
28
- "test:all": "npm test -- --json --outputFile=test-results.json --testFailureExitCode=1",
29
- "build:types": "tsc -p tsconfig.build.json",
29
+ "build:types": "npm run clean:modules && tsc -p tsconfig.build.json",
30
30
  "build:modules": "npm run build:types",
31
- "build:bundle": "webpack --mode=production --node-env=production --env target=full",
32
- "build:parser": "webpack --mode=production --node-env=production --env target=parser && node tools/smoke-build.cjs parser",
31
+ "build:bundle": "npm run clean:dist && webpack --mode=production --env target=full",
32
+ "build:bundle:all-languages": "npm run clean:dist && webpack --mode=production --env target=full --env language=all",
33
+ "build:parser": "webpack --mode=production --env target=parser && node tools/smoke-build.cjs parser",
33
34
  "build:full": "npm run build:modules && npm run build:bundle && node tools/smoke-build.cjs full",
35
+ "build:all-languages": "npm run build:modules && npm run build:bundle:all-languages && node tools/smoke-build.cjs full",
34
36
  "build": "npm run build:full",
35
- "build:dev": "webpack --mode=development",
36
- "build:prod": "npm run build",
37
- "watch": "webpack --watch",
38
- "serve": "webpack serve",
39
37
  "docs:parser": "ts-node tools/generate-parser-docs.ts",
40
- "docs": "npm run docs:parser && typedoc --options typedoc.json --out docs/api",
41
- "docs:check": "typedoc --options typedoc.json --emit none",
42
- "docs:api": "typedoc --options typedoc.json --json generated/typedoc/typedoc.json",
43
- "docs:all": "npm run docs:parser && typedoc --options typedoc.json --json generated/typedoc/typedoc.json --plugin typedoc-material-theme --themeColor '#e63420' --out docs/html",
44
- "docs:html": "typedoc --options typedoc.json --plugin typedoc-material-theme --themeColor '#e63420' --out docs/html",
45
38
  "validate:package": "ts-node tools/validate-package.ts",
46
- "prepublishOnly": "npm run test && npm run build && npm run build:parser && npm run docs:parser && npm run validate:package"
39
+ "prepublishOnly": "npm run typecheck && npm run test && npm run test:coverage && npm run build && npm run validate:package",
40
+ "clean:modules": "node -e \"require('node:fs').rmSync('output', { recursive: true, force: true })\"",
41
+ "clean:dist": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\""
47
42
  },
48
43
  "repository": {
49
44
  "type": "git",
@@ -94,36 +89,25 @@
94
89
  "decimal.js": "^10.4.3"
95
90
  },
96
91
  "devDependencies": {
97
- "@eslint/js": "^9.8.0",
92
+ "@eslint/js": "^9.39.3",
98
93
  "@types/eslint__js": "^8.42.3",
99
94
  "@types/jest": "^30.0.0",
100
95
  "@types/node": "^25.0.10",
101
- "@webpack-cli/generators": "^2.5.0",
102
- "css-loader": "^7.1.2",
103
96
  "eslint": "^9.39.3",
104
97
  "eslint-plugin-import": "^2.32.0",
105
98
  "eslint-plugin-perfectionist": "^5.6.0",
106
- "html-webpack-plugin": "^5.6.3",
107
- "jasmine": "^5.1.0",
99
+ "html-webpack-plugin": "^5.6.4",
108
100
  "jest": "^30.2.0",
109
- "mini-css-extract-plugin": "^2.9.2",
110
- "nodemon": "^3.1.4",
111
101
  "prettier": "^3.8.1",
112
- "sass": "^1.86.0",
113
- "sass-loader": "^16.0.5",
114
- "style-loader": "^4.0.0",
115
102
  "terser-webpack-plugin": "^5.3.14",
116
103
  "ts-jest": "^29.4.6",
117
- "ts-loader": "^9.5.2",
104
+ "ts-loader": "^9.5.4",
118
105
  "ts-node": "^10.9.2",
119
106
  "typedoc": "^0.28.17",
120
- "typedoc-material-theme": "^1.4.1",
121
107
  "typescript": "^5.9.3",
122
- "typescript-eslint": "^8.0.0",
123
- "webpack": "^5.98.0",
124
- "webpack-cli": "^5.1.4",
125
- "webpack-dev-server": "^5.2.0",
126
- "workbox-webpack-plugin": "^7.3.0"
108
+ "typescript-eslint": "^8.70.1",
109
+ "webpack": "^5.111.1",
110
+ "webpack-cli": "^7.2.3"
127
111
  },
128
112
  "exports": {
129
113
  ".": {
@@ -177,8 +161,8 @@
177
161
  "default": "./output/api/debug.js"
178
162
  },
179
163
  "./docs-data/parser-functions.json": "./docs-data/parser-functions.json",
164
+ "./docs-data/typedoc.json": "./docs-data/typedoc.json",
180
165
  "./dist/bundle.js": "./dist/bundle.js",
181
- "./dist/parser.js": "./dist/parser.js",
182
166
  "./package.json": "./package.json"
183
167
  },
184
168
  "typesVersions": {
@@ -212,4 +196,4 @@
212
196
  ]
213
197
  }
214
198
  }
215
- }
199
+ }