pimath 0.0.68 → 0.0.71

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 (70) hide show
  1. package/dist/pi.js +8 -2
  2. package/dist/pi.js.map +1 -1
  3. package/dist/pi.min.js +1 -1
  4. package/dist/pi.min.js.map +1 -1
  5. package/esm/maths/algebra/equation.js +1 -1
  6. package/esm/maths/algebra/equation.js.map +1 -1
  7. package/esm/maths/algebra/polynom.js +1 -1
  8. package/esm/maths/algebra/polynom.js.map +1 -1
  9. package/esm/maths/coefficients/fraction.d.ts +1 -0
  10. package/esm/maths/coefficients/fraction.js +3 -0
  11. package/esm/maths/coefficients/fraction.js.map +1 -1
  12. package/esm/maths/expressions/expression.d.ts +6 -0
  13. package/esm/maths/expressions/expression.js +79 -1
  14. package/esm/maths/expressions/expression.js.map +1 -1
  15. package/esm/maths/expressions/expressionFactor.d.ts +8 -1
  16. package/esm/maths/expressions/expressionFactor.js +51 -4
  17. package/esm/maths/expressions/expressionFactor.js.map +1 -1
  18. package/esm/maths/expressions/expressionMember.d.ts +12 -1
  19. package/esm/maths/expressions/expressionMember.js +128 -19
  20. package/esm/maths/expressions/expressionMember.js.map +1 -1
  21. package/esm/maths/expressions/expressionParser.d.ts +2 -0
  22. package/esm/maths/expressions/expressionParser.js +74 -34
  23. package/esm/maths/expressions/expressionParser.js.map +1 -1
  24. package/esm/maths/expressions/factors/ExpFactor.d.ts +2 -2
  25. package/esm/maths/expressions/factors/ExpFactor.js +15 -3
  26. package/esm/maths/expressions/factors/ExpFactor.js.map +1 -1
  27. package/esm/maths/expressions/factors/ExpFactorConstant.d.ts +1 -0
  28. package/esm/maths/expressions/factors/ExpFactorConstant.js +3 -0
  29. package/esm/maths/expressions/factors/ExpFactorConstant.js.map +1 -1
  30. package/esm/maths/expressions/factors/ExpFactorExponential.d.ts +1 -0
  31. package/esm/maths/expressions/factors/ExpFactorExponential.js +4 -0
  32. package/esm/maths/expressions/factors/ExpFactorExponential.js.map +1 -1
  33. package/esm/maths/expressions/factors/ExpFactorNumber.d.ts +3 -2
  34. package/esm/maths/expressions/factors/ExpFactorNumber.js +23 -0
  35. package/esm/maths/expressions/factors/ExpFactorNumber.js.map +1 -1
  36. package/esm/maths/expressions/factors/ExpFactorPower.d.ts +5 -1
  37. package/esm/maths/expressions/factors/ExpFactorPower.js +15 -2
  38. package/esm/maths/expressions/factors/ExpFactorPower.js.map +1 -1
  39. package/esm/maths/expressions/factors/ExpFactorTrigo.d.ts +1 -0
  40. package/esm/maths/expressions/factors/ExpFactorTrigo.js +8 -0
  41. package/esm/maths/expressions/factors/ExpFactorTrigo.js.map +1 -1
  42. package/esm/maths/expressions/factors/ExpFactorVariable.d.ts +1 -0
  43. package/esm/maths/expressions/factors/ExpFactorVariable.js +3 -0
  44. package/esm/maths/expressions/factors/ExpFactorVariable.js.map +1 -1
  45. package/esm/maths/expressions/polynomexp.bkp.js +0 -1
  46. package/esm/maths/expressions/polynomexp.bkp.js.map +1 -1
  47. package/esm/maths/shutingyard.js +3 -0
  48. package/esm/maths/shutingyard.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/maths/algebra/equation.ts +1 -1
  51. package/src/maths/algebra/polynom.ts +1 -1
  52. package/src/maths/coefficients/fraction.ts +4 -0
  53. package/src/maths/expressions/expression.ts +115 -20
  54. package/src/maths/expressions/expressionFactor.ts +59 -7
  55. package/src/maths/expressions/expressionMember.ts +141 -22
  56. package/src/maths/expressions/expressionParser.ts +79 -33
  57. package/src/maths/expressions/factors/ExpFactor.ts +19 -6
  58. package/src/maths/expressions/factors/ExpFactorConstant.ts +4 -0
  59. package/src/maths/expressions/factors/ExpFactorExponential.ts +7 -0
  60. package/src/maths/expressions/factors/ExpFactorNumber.ts +32 -4
  61. package/src/maths/expressions/factors/ExpFactorPower.ts +21 -3
  62. package/src/maths/expressions/factors/ExpFactorTrigo.ts +10 -1
  63. package/src/maths/expressions/factors/ExpFactorVariable.ts +5 -0
  64. package/src/maths/expressions/polynomexp.bkp.ts +0 -1
  65. package/src/maths/shutingyard.ts +4 -1
  66. package/tests/expressions/expressions.test.ts +24 -3
  67. package/tests/geometry/circle.test.ts +6 -0
  68. package/esm/maths/expressions/factors/ExpFactorSin.d.ts +0 -7
  69. package/esm/maths/expressions/factors/ExpFactorSin.js +0 -22
  70. package/esm/maths/expressions/factors/ExpFactorSin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ExpFactorExponential.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorExponential.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,oBAAqB,SAAQ,4BAAgB;IAEtD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,eAAgB,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAExD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;CACJ;AAfD,oDAeC"}
1
+ {"version":3,"file":"ExpFactorExponential.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorExponential.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,oBAAqB,SAAQ,4BAAgB;IAEtD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,eAAgB,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAExD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,OAAQ,IAAI,CAAC,QAAQ,CAAC,GAAI,IAAI,CAAA;QAEpD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;CAEJ;AAtBD,oDAsBC"}
@@ -1,5 +1,4 @@
1
- import { Expression } from "../internals";
2
- import { ExpressionFactor } from "../internals";
1
+ import { Expression, ExpressionFactor } from "../internals";
3
2
  export declare class ExpFactorNumber extends ExpressionFactor {
4
3
  private _number;
5
4
  constructor(value: number, power?: number, root?: number);
@@ -7,7 +6,9 @@ export declare class ExpFactorNumber extends ExpressionFactor {
7
6
  get number(): number;
8
7
  set number(value: number);
9
8
  makeTeX(): string;
9
+ makeDisplay(numberOfFactors?: number, position?: number): string;
10
10
  derivative(variable: string): Expression;
11
11
  integrate(variable: string): Expression;
12
12
  hasVariable(variable?: string): boolean;
13
+ reduce(): ExpressionFactor;
13
14
  }
@@ -22,6 +22,9 @@ class ExpFactorNumber extends internals_1.ExpressionFactor {
22
22
  makeTeX() {
23
23
  return this.texPower(this.texRoot(this._number.toString()));
24
24
  }
25
+ makeDisplay(numberOfFactors, position) {
26
+ return this.displayPower(this.displayRoot(this._number.toString()));
27
+ }
25
28
  derivative(variable) {
26
29
  return undefined;
27
30
  }
@@ -31,6 +34,26 @@ class ExpFactorNumber extends internals_1.ExpressionFactor {
31
34
  hasVariable(variable) {
32
35
  return false;
33
36
  }
37
+ reduce() {
38
+ // Reduce the power / root value
39
+ super.reduce();
40
+ if (this.power > 1) {
41
+ this.number = this.number ** this.power;
42
+ this.power = 1;
43
+ }
44
+ if (this.power < -1) {
45
+ this.number = this.number ** (-this.power);
46
+ this.power = -1;
47
+ }
48
+ if (this.root > 1) {
49
+ // Maybe it's a perfect root ?
50
+ if (Number.isSafeInteger(Math.pow(this.number, 1 / this.root))) {
51
+ this.number = Math.pow(this.number, 1 / this.root);
52
+ this.root = 1;
53
+ }
54
+ }
55
+ return this;
56
+ }
34
57
  }
35
58
  exports.ExpFactorNumber = ExpFactorNumber;
36
59
  //# sourceMappingURL=ExpFactorNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpFactorNumber.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorNumber.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,eAAgB,SAAQ,4BAAgB;IAEjD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAI,MAAM,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AAxCD,0CAwCC"}
1
+ {"version":3,"file":"ExpFactorNumber.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorNumber.ts"],"names":[],"mappings":";;;AAAA,4CAA0D;AAE1D,MAAa,eAAgB,SAAQ,4BAAgB;IAGjD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,cAAc,KAAK,wBAAwB,CAAA;SACpD;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAGD,IAAI,MAAM,CAAC,KAAa;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM;QACF,gCAAgC;QAChC,KAAK,CAAC,MAAM,EAAE,CAAA;QAEd,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;SACjB;QACD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;SAClB;QAED,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,8BAA8B;YAC9B,IAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC;gBACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;aAChB;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AArED,0CAqEC"}
@@ -1,9 +1,13 @@
1
1
  import { Expression } from "../internals";
2
2
  import { ExpressionFactor } from "../internals";
3
3
  export declare class ExpFactorPower extends ExpressionFactor {
4
- private powerArgument;
4
+ get powerArgument(): Expression;
5
+ set powerArgument(value: Expression);
6
+ private _powerArgument;
5
7
  constructor(radical: Expression, power: Expression, power2?: number, root?: number);
6
8
  derivative(variable: string): Expression;
7
9
  integrate(variable: string): Expression;
8
10
  makeTeX(): string;
11
+ getArguments(): Expression[];
12
+ makeDisplay(numberOfFactors?: number, position?: number): string;
9
13
  }
@@ -5,7 +5,13 @@ const internals_1 = require("../internals");
5
5
  class ExpFactorPower extends internals_1.ExpressionFactor {
6
6
  constructor(radical, power, power2, root) {
7
7
  super(radical, power2, root);
8
- this.powerArgument = power;
8
+ this._powerArgument = power;
9
+ }
10
+ get powerArgument() {
11
+ return this._powerArgument;
12
+ }
13
+ set powerArgument(value) {
14
+ this._powerArgument = value;
9
15
  }
10
16
  derivative(variable) {
11
17
  return undefined;
@@ -14,9 +20,16 @@ class ExpFactorPower extends internals_1.ExpressionFactor {
14
20
  return undefined;
15
21
  }
16
22
  makeTeX() {
17
- let tex = `{ ${this.argument.tex} }^{ ${this.powerArgument.tex} }`;
23
+ let tex = `{ ${this.argument.tex} }^{ ${this._powerArgument.tex} }`;
18
24
  return this.texPowerAndRoot(this.wrapWithParentheses(tex));
19
25
  }
26
+ getArguments() {
27
+ return [this.argument, this.powerArgument];
28
+ }
29
+ makeDisplay(numberOfFactors, position) {
30
+ let display = `( ${this.argument.display} )^( ${this._powerArgument.display} )`;
31
+ return this.displayPowerAndRoot(this.wrapWithParentheses(display, false));
32
+ }
20
33
  }
21
34
  exports.ExpFactorPower = ExpFactorPower;
22
35
  //# sourceMappingURL=ExpFactorPower.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;IAEhD,YAAY,OAAmB,EAAE,KAAiB,EAAE,MAAe,EAAE,IAAY;QAC7E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;IAC9B,CAAC;IACD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,GAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAI,IAAI,CAAA;QAE7E,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;CACJ;AApBD,wCAoBC"}
1
+ {"version":3,"file":"ExpFactorPower.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorPower.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,cAAe,SAAQ,4BAAgB;IAUhD,YAAY,OAAmB,EAAE,KAAiB,EAAE,MAAe,EAAE,IAAY;QAC7E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;IAC/B,CAAC;IAbD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,CAAC,KAAiB;QAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAQD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,GAAI,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAI,IAAI,CAAA;QAE9E,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,YAAY;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAW,KAAM,IAAI,CAAC,QAAQ,CAAC,OAAQ,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAQ,IAAI,CAAA;QAE1F,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E,CAAC;CACJ;AAtCD,wCAsCC"}
@@ -16,4 +16,5 @@ export declare class ExpFactorTrigo extends ExpressionFactor {
16
16
  derivative(variable: string): Expression;
17
17
  integrate(variable: string): Expression;
18
18
  makeTeX(): string;
19
+ makeDisplay(numberOfFactors?: number, position?: number): string;
19
20
  }
@@ -35,6 +35,14 @@ class ExpFactorTrigo extends internals_1.ExpressionFactor {
35
35
  tex += `\\left( ${this.argument.tex} \\right)`;
36
36
  return this.texRoot(tex);
37
37
  }
38
+ makeDisplay(numberOfFactors, position) {
39
+ let display = `${this._trigo}`;
40
+ if (this.root > 1) {
41
+ display += `^( ${this.root} )`;
42
+ }
43
+ display += `( ${this.argument.display} )`;
44
+ return this.displayRoot(display);
45
+ }
38
46
  }
39
47
  exports.ExpFactorTrigo = ExpFactorTrigo;
40
48
  //# sourceMappingURL=ExpFactorTrigo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpFactorTrigo.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorTrigo.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,IAAY,aASX;AATD,WAAY,aAAa;IACrB,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;AACf,CAAC,EATW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QASxB;AACD,MAAa,cAAe,SAAQ,4BAAgB;IAGhD,YAAY,KAAa,EAAE,QAAoB,EAAE,KAAc,EAAE,IAAa;QAE1E,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAG,CAAE,CAAC,KAAK,IAAI,aAAa,CAAC,EAAC;YAC1B,MAAM,OAAQ,KAAM,yCAAyC,CAAA;SAChE;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,GAAG,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAA;SAC7B;QAED,GAAG,IAAG,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACJ;AA9BD,wCA8BC"}
1
+ {"version":3,"file":"ExpFactorTrigo.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorTrigo.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,IAAY,aASX;AATD,WAAY,aAAa;IACrB,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,4BAAS,CAAA;IACT,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;AACf,CAAC,EATW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QASxB;AACD,MAAa,cAAe,SAAQ,4BAAgB;IAEhD,YAAY,KAAa,EAAE,QAAoB,EAAE,KAAc,EAAE,IAAa;QAE1E,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAG,CAAE,CAAC,KAAK,IAAI,aAAa,CAAC,EAAC;YAC1B,MAAM,OAAQ,KAAM,yCAAyC,CAAA;SAChE;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO;QACH,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,GAAG,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAA;SAC7B;QAED,GAAG,IAAG,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,IAAI,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC9B,IAAG,IAAI,CAAC,IAAI,GAAC,CAAC,EAAC;YACX,OAAO,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,CAAA;SACjC;QAED,OAAO,IAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAA;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACJ;AAvCD,wCAuCC"}
@@ -6,6 +6,7 @@ export declare class ExpFactorVariable extends ExpressionFactor {
6
6
  get variable(): string;
7
7
  set variable(value: string);
8
8
  makeTeX(): string;
9
+ makeDisplay(numberOfFactors?: number, position?: number): string;
9
10
  derivative(variable: string): Expression;
10
11
  integrate(variable: string): Expression;
11
12
  hasVariable(variable?: string): boolean;
@@ -19,6 +19,9 @@ class ExpFactorVariable extends internals_1.ExpressionFactor {
19
19
  makeTeX() {
20
20
  return this.texPower(this.texRoot(this._variable));
21
21
  }
22
+ makeDisplay(numberOfFactors, position) {
23
+ return this.displayPower(this.displayRoot(this._variable));
24
+ }
22
25
  derivative(variable) {
23
26
  return undefined;
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpFactorVariable.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorVariable.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAEnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,gBAAgB,KAAK,wBAAwB,CAAA;SACtD;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAA;IACtC,CAAC;CACJ;AApCD,8CAoCC"}
1
+ {"version":3,"file":"ExpFactorVariable.js","sourceRoot":"","sources":["../../../../src/maths/expressions/factors/ExpFactorVariable.ts"],"names":[],"mappings":";;;AACA,4CAA8C;AAE9C,MAAa,iBAAkB,SAAQ,4BAAgB;IAEnD,YAAY,KAAa,EAAE,KAAc,EAAE,IAAa;QACpD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,gBAAgB,KAAK,wBAAwB,CAAA;SACtD;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,WAAW,CAAC,eAAwB,EAAE,QAAiB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9D,CAAC;IAGD,UAAU,CAAC,QAAgB;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,QAAgB;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAA;IACtC,CAAC;CACJ;AAzCD,8CAyCC"}
@@ -149,7 +149,6 @@ class PolynomExp {
149
149
  this._factors = [];
150
150
  if (values !== undefined) {
151
151
  for (const factor of values) {
152
- console.log('ADDING', factor.tex);
153
152
  this._factors.push({
154
153
  factors: factor,
155
154
  positive: true
@@ -1 +1 @@
1
- {"version":3,"file":"polynomexp.bkp.js","sourceRoot":"","sources":["../../../src/maths/expressions/polynomexp.bkp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polynomexp.bkp.js","sourceRoot":"","sources":["../../../src/maths/expressions/polynomexp.bkp.ts"],"names":[],"mappings":"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"}
@@ -171,6 +171,9 @@ class Shutingyard {
171
171
  return [token, start + token.length, tokenType];
172
172
  }
173
173
  normalize(expr) {
174
+ if (expr.length === 1) {
175
+ return expr;
176
+ }
174
177
  // Get the list of function token.
175
178
  let fnToken = [], kToken = [];
176
179
  for (let token in this._tokenConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutingyard.js","sourceRoot":"","sources":["../../src/maths/shutingyard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pimath",
3
- "version": "0.0.68",
3
+ "version": "0.0.71",
4
4
  "description": "A math library for teacher :)",
5
5
  "scripts": {
6
6
  "test": "mocha -r ts-node/register 'tests/**/*.test.ts'",
@@ -578,7 +578,7 @@ export class Equation {
578
578
  if ((this.isGreater() && m1.sign() === 1) || (!this.isGreater() && m1.sign() === -1)) {
579
579
  s = `\\left${this.isAlsoEqual() ? '[' : ']'}${v.tex};+\\infty\\right[`;
580
580
  } else {
581
- s = `\\left]-\\infty;${v.tex} \\right\\${this.isAlsoEqual() ? ']' : '['}`;
581
+ s = `\\left]-\\infty;${v.tex} \\right${this.isAlsoEqual() ? ']' : '['}`;
582
582
  }
583
583
  }
584
584
  this._solutions = [{
@@ -204,7 +204,7 @@ export class Polynom {
204
204
  }
205
205
  } else if (element.token === '^') {
206
206
  if (b.degree().isStrictlyPositive()) {
207
- console.error('Cannot elevate a polynom with another polynom !')
207
+ console.error('Cannot elevate a polynom with another polynom !', a.tex, b.tex)
208
208
  } else {
209
209
  if (b.monoms[0].coefficient.isRelative()) {
210
210
  // Integer power
@@ -65,6 +65,10 @@ export class Fraction {
65
65
  }
66
66
  }
67
67
 
68
+ get texWithSign():string {
69
+ return this.isPositive() ? `+${this.tex}` : this.tex;
70
+ }
71
+
68
72
  get display(): string {
69
73
  if (this.isExact()) {
70
74
  if (this._denominator === 1) {
@@ -1,4 +1,11 @@
1
- import {ExpressionFactor, ExpressionMember} from "./internals";
1
+ import {
2
+ ExpFactor,
3
+ ExpFactorConstant,
4
+ ExpFactorNumber, ExpFactorPower,
5
+ ExpFactorVariable,
6
+ ExpressionFactor,
7
+ ExpressionMember
8
+ } from "./internals";
2
9
 
3
10
  export type ExpressionMemberType = { member: ExpressionMember, sign: number }
4
11
 
@@ -12,7 +19,7 @@ export class Expression {
12
19
  }
13
20
 
14
21
  get tex(): string {
15
- let tex:string = ""
22
+ let tex: string = ""
16
23
  for (let item of this._members) {
17
24
 
18
25
  try {
@@ -21,13 +28,30 @@ export class Expression {
21
28
  } else {
22
29
  tex += (item.sign === -1 ? "-" : "+") + item.member.tex
23
30
  }
24
- }catch{
31
+ } catch {
25
32
  console.log('Error while generating the TeX code for ', item.constructor.name)
26
33
  }
27
34
  }
28
35
  return tex
29
36
  }
30
37
 
38
+ get display(): string {
39
+ let display: string = ""
40
+ for (let item of this._members) {
41
+
42
+ try {
43
+ if (display === "") {
44
+ display = (item.sign === -1 ? "-" : "") + item.member.display
45
+ } else {
46
+ display += (item.sign === -1 ? "-" : "+") + item.member.display
47
+ }
48
+ } catch {
49
+ console.log('Error while generating the display code for ', item.constructor.name)
50
+ }
51
+ }
52
+ return display
53
+ }
54
+
31
55
  get members(): ExpressionMemberType[] {
32
56
  return this._members;
33
57
  }
@@ -43,13 +67,12 @@ export class Expression {
43
67
  member: item,
44
68
  sign: 1
45
69
  })
46
- }else if (item instanceof ExpressionFactor){
70
+ } else if (item instanceof ExpressionFactor) {
47
71
  this._members.push({
48
72
  member: new ExpressionMember(item),
49
73
  sign: 1
50
74
  })
51
- }
52
- else {
75
+ } else {
53
76
  this._members.push(item)
54
77
  }
55
78
  }
@@ -102,6 +125,64 @@ export class Expression {
102
125
  return this
103
126
  }
104
127
 
128
+ variables(): string[] {
129
+ let values: string[] = [],
130
+ varFactor: ExpFactorVariable[]
131
+
132
+
133
+ values = this.getAllFactors().filter(x => x instanceof ExpFactorVariable).map(x => {
134
+ return x instanceof ExpFactorVariable ? x.variable : null
135
+ })
136
+
137
+ return [...new Set(values)]
138
+ }
139
+
140
+ isPolynom(): Boolean {
141
+ // Allow variable, number, factor, power, constant
142
+ let factors = this.getAllFactors()
143
+
144
+ for (let factor of factors) {
145
+ // No root
146
+ if (factor.root > 1) {
147
+ return false
148
+ }
149
+
150
+ // Allow power, as long as the power argument is numeric
151
+ if(factor instanceof ExpFactorPower){
152
+ if(!factor.powerArgument.isNumeric()){return false}
153
+ // TODO: the power must be an integer value.
154
+
155
+ if(!factor.powerArgument.isNumber()){return false}
156
+ }
157
+
158
+ // Allow some type of factors.
159
+ if (!(
160
+ factor instanceof ExpFactor ||
161
+ factor instanceof ExpFactorConstant ||
162
+ factor instanceof ExpFactorNumber ||
163
+ factor instanceof ExpFactorVariable
164
+ )) {
165
+ return false
166
+ }
167
+ }
168
+
169
+ return true
170
+ }
171
+
172
+ getAllFactors(): ExpressionFactor[] {
173
+ let EF: ExpressionFactor[] = []
174
+
175
+ for (let item of this._members) {
176
+ for (let factor of item.member.factors) {
177
+ EF.push(factor)
178
+ for(let expr of factor.getArguments()){
179
+ EF = EF.concat(...expr.getAllFactors())
180
+ }
181
+ }
182
+ }
183
+
184
+ return EF
185
+ }
105
186
 
106
187
  hasVariable(variable?: string): boolean {
107
188
 
@@ -136,30 +217,37 @@ export class Expression {
136
217
  }
137
218
 
138
219
  isNumeric(): boolean {
139
-
140
220
  for (let item of this._members) {
141
221
  if (!item.member.isNumeric()) {
142
222
  return false
143
223
  }
144
224
  }
225
+ return true;
226
+ }
145
227
 
228
+ isNumber(): boolean {
229
+ if(this._members.length===1) {
230
+ if (this._members[0]?.member.factors[0] instanceof ExpFactorNumber) {
231
+ return this._members[0].member.factors[0].root === 1
232
+ }
233
+ }
146
234
 
147
- return true;
235
+ return false
148
236
  }
149
237
 
150
238
  isSingle(): Boolean {
151
- if(this.members.length>1){
239
+ if (this.members.length > 1) {
152
240
  return false
153
- }else if(this.members[0]?.member.factors.length>1){
241
+ } else if (this.members[0]?.member.factors.length > 1) {
154
242
  return false
155
- }else{
243
+ } else {
156
244
  return true
157
245
  }
158
246
 
159
247
  }
160
248
 
161
249
  isFactor(): Boolean {
162
- return this.members.length===1
250
+ return this.members.length === 1
163
251
  }
164
252
 
165
253
 
@@ -168,24 +256,31 @@ export class Expression {
168
256
  indent = "",
169
257
  dftIndent = "\t"
170
258
 
171
- if(depth===undefined){depth = 0}
172
- for(let i=0;i<depth; i++){
259
+ if (depth === undefined) {
260
+ depth = 0
261
+ }
262
+ for (let i = 0; i < depth; i++) {
173
263
  indent += dftIndent
174
264
  }
175
265
 
176
266
  struct.push(`${indent}${this.constructor.name}: ${this.tex}`)
177
- for(let item of this._members){
267
+ for (let item of this._members) {
178
268
  struct.push(`${indent}${dftIndent}${item.member.constructor.name}: ${item.member.tex}`)
179
- for(let factor of item.member.factors){
180
- struct.push(`${indent}${dftIndent}${dftIndent}${factor.constructor.name}: ${factor.tex}`)
181
- if(factor.argument!==null){
182
- struct.push(factor.argument.structure(depth+3))
269
+ for (let factor of item.member.factors) {
270
+ struct.push(`${indent}${dftIndent}${dftIndent}${factor.constructor.name}: ${factor.tex} ; power: ${factor.power}; root: ${factor.root}`)
271
+ if (factor.argument !== null) {
272
+ struct.push(factor.argument.structure(depth + 3))
183
273
  }
184
274
  }
185
275
  }
186
276
  return struct.join('\n')
187
277
  }
188
278
 
189
-
279
+ reduce():Expression {
280
+ for(let item of this.members){
281
+ item.member.reduce()
282
+ }
283
+ return this
284
+ }
190
285
  }
191
286