mathjs 11.8.1 → 11.8.2

Sign up to get free protection for your applications and to get access to all the features.
package/lib/cjs/header.js CHANGED
@@ -6,8 +6,8 @@
6
6
  * It features real and complex numbers, units, matrices, a large set of
7
7
  * mathematical functions, and a flexible expression parser.
8
8
  *
9
- * @version 11.8.1
10
- * @date 2023-06-13
9
+ * @version 11.8.2
10
+ * @date 2023-06-20
11
11
  *
12
12
  * @license
13
13
  * Copyright (C) 2013-2023 Jos de Jong <wjosdejong@gmail.com>
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '11.8.1';
7
+ var version = '11.8.2';
8
8
  // Note: This file is automatically generated when building math.js.
9
9
  // Changes made in this file will be overwritten.
10
10
  exports.version = version;
@@ -1,3 +1,3 @@
1
- export var version = '11.8.1';
1
+ export var version = '11.8.2';
2
2
  // Note: This file is automatically generated when building math.js.
3
3
  // Changes made in this file will be overwritten.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathjs",
3
- "version": "11.8.1",
3
+ "version": "11.8.2",
4
4
  "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
5
5
  "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
6
6
  "homepage": "https://mathjs.org",
@@ -43,17 +43,17 @@
43
43
  "@babel/register": "7.22.5",
44
44
  "@types/assert": "1.5.6",
45
45
  "@types/mocha": "10.0.1",
46
- "@typescript-eslint/eslint-plugin": "5.59.11",
47
- "@typescript-eslint/parser": "5.59.11",
46
+ "@typescript-eslint/eslint-plugin": "5.60.0",
47
+ "@typescript-eslint/parser": "5.60.0",
48
48
  "assert": "2.0.0",
49
49
  "babel-loader": "9.1.2",
50
50
  "benchmark": "2.1.4",
51
- "c8": "7.14.0",
51
+ "c8": "8.0.0",
52
52
  "codecov": "3.8.3",
53
53
  "core-js": "3.31.0",
54
54
  "del": "6.1.1",
55
55
  "dtslint": "4.2.1",
56
- "eslint": "8.42.0",
56
+ "eslint": "8.43.0",
57
57
  "eslint-config-prettier": "8.8.0",
58
58
  "eslint-config-standard": "17.1.0",
59
59
  "eslint-plugin-import": "2.27.5",
@@ -90,7 +90,7 @@
90
90
  "sylvester": "0.0.21",
91
91
  "ts-node": "10.9.1",
92
92
  "typescript": "5.1.3",
93
- "webpack": "5.86.0",
93
+ "webpack": "5.87.0",
94
94
  "zeros": "1.0.0"
95
95
  },
96
96
  "type": "module",
package/types/index.d.ts CHANGED
@@ -13,10 +13,12 @@ type NoLiteralType<T> = T extends number
13
13
  : T
14
14
 
15
15
  declare namespace math {
16
+ // TODO: introduce generics for MathCollection, MathMatrix, and MathArray
16
17
  type MathNumericType = number | BigNumber | Fraction | Complex
17
- type MathArray = MathNumericType[] | MathNumericType[][]
18
+ type MathScalarType = MathNumericType | Unit
19
+ type MathArray = MathNumericType[] | MathNumericType[][] // TODO: MathArray can also contain Unit
18
20
  type MathCollection = MathArray | Matrix
19
- type MathType = MathNumericType | Unit | MathCollection
21
+ type MathType = MathScalarType | MathCollection
20
22
  type MathExpression = string | string[] | MathCollection
21
23
 
22
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2595,35 +2597,60 @@ declare namespace math {
2595
2597
  * of a multi dimensional array, the maximum of the flattened array will
2596
2598
  * be calculated. When dim is provided, the maximum over the selected
2597
2599
  * dimension will be calculated. Parameter dim is zero-based.
2598
- * @param args A single matrix or multiple scalar values
2600
+ * @param args Multiple scalar values
2601
+ * @returns The maximum value
2602
+ */
2603
+ max<T extends MathScalarType>(...args: T[]): T
2604
+ /**
2605
+ * @param args Multiple scalar values
2599
2606
  * @returns The maximum value
2600
2607
  */
2601
- max<T extends MathType[]>(...args: T): T[number]
2608
+ max(...args: MathScalarType[]): MathScalarType
2602
2609
  /**
2603
2610
  * @param A A single matrix
2604
- * @param dim The maximum over the selected dimension
2611
+ * @param dimension The maximum over the selected dimension
2605
2612
  * @returns The maximum value
2606
2613
  */
2607
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2608
- max(A: MathCollection, dim?: number): any
2614
+ max<T extends MathScalarType>(
2615
+ A: T[] | T[][],
2616
+ dimension?: number | BigNumber
2617
+ ): T
2618
+ /**
2619
+ * @param A A single matrix
2620
+ * @param dimension The maximum over the selected dimension
2621
+ * @returns The maximum value
2622
+ */
2623
+ max(A: MathCollection, dimension?: number | BigNumber): MathScalarType
2609
2624
 
2610
2625
  /**
2611
2626
  * Compute the mean value of matrix or a list with values. In case of a
2612
2627
  * multi dimensional array, the mean of the flattened array will be
2613
2628
  * calculated. When dim is provided, the maximum over the selected
2614
2629
  * dimension will be calculated. Parameter dim is zero-based.
2615
- * @param args A single matrix or multiple scalar values
2630
+ * @param args Multiple scalar values
2616
2631
  * @returns The mean of all values
2617
2632
  */
2618
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2619
- mean(...args: MathType[]): any
2633
+ mean<T extends MathScalarType>(...args: T[]): T
2634
+ /**
2635
+ * @param args Multiple scalar values
2636
+ * @returns The mean value
2637
+ */
2638
+ mean(...args: MathScalarType[]): MathScalarType
2620
2639
  /**
2621
2640
  * @param A A single matrix
2622
- * @param dim The mean over the selected dimension
2623
- * @returns The mean of all values
2641
+ * @param dimension The mean over the selected dimension
2642
+ * @returns The mean value
2624
2643
  */
2625
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2626
- mean(A: MathCollection, dim?: number): any
2644
+ mean<T extends MathScalarType>(
2645
+ A: T[] | T[][],
2646
+ dimension?: number | BigNumber
2647
+ ): T
2648
+ /**
2649
+ * @param A A single matrix
2650
+ * @param dimension The mean over the selected dimension
2651
+ * @returns The mean value
2652
+ */
2653
+ mean(A: MathCollection, dimension?: number | BigNumber): MathScalarType
2627
2654
 
2628
2655
  /**
2629
2656
  * Compute the median of a matrix or a list with values. The values are
@@ -2632,48 +2659,103 @@ declare namespace math {
2632
2659
  * types of values are: Number, BigNumber, Unit In case of a (multi
2633
2660
  * dimensional) array or matrix, the median of all elements will be
2634
2661
  * calculated.
2635
- * @param args A single matrix or or multiple scalar values
2636
- * @returns The median
2662
+ * @param args Multiple scalar values
2663
+ * @returns The median value
2637
2664
  */
2638
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2639
- median(...args: MathType[]): any
2665
+ median<T extends MathScalarType>(...args: T[]): T
2666
+ /**
2667
+ * @param args Multiple scalar values
2668
+ * @returns The median value
2669
+ */
2670
+ median(...args: MathScalarType[]): MathScalarType
2671
+ /**
2672
+ * @param A A single matrix
2673
+ * @returns The median value
2674
+ */
2675
+ median<T extends MathScalarType>(A: T[] | T[][]): T
2676
+ /**
2677
+ * @param A A single matrix
2678
+ * @returns The median value
2679
+ */
2680
+ median(A: MathCollection): MathScalarType
2640
2681
 
2641
2682
  /**
2642
2683
  * Compute the minimum value of a matrix or a list of values. In case of
2643
2684
  * a multi dimensional array, the minimum of the flattened array will be
2644
2685
  * calculated. When dim is provided, the minimum over the selected
2645
2686
  * dimension will be calculated. Parameter dim is zero-based.
2646
- * @param args A single matrix or or multiple scalar values
2687
+ * @param args multiple scalar values
2647
2688
  * @returns The minimum value
2648
2689
  */
2649
- min<T extends MathType[]>(...args: T): T[number]
2690
+ min<T extends MathScalarType>(...args: T[]): T
2691
+ /**
2692
+ * @param args Multiple scalar values
2693
+ * @returns The minimum value
2694
+ */
2695
+ min(...args: MathScalarType[]): MathScalarType
2650
2696
  /**
2651
2697
  * @param A A single matrix
2652
- * @param dim The minimum over the selected dimension
2698
+ * @param dimension The minimum over the selected dimension
2653
2699
  * @returns The minimum value
2654
2700
  */
2655
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2656
- min(A: MathCollection, dim?: number): any
2701
+ min<T extends MathScalarType>(
2702
+ A: T[] | T[][],
2703
+ dimension?: number | BigNumber
2704
+ ): T
2705
+ /**
2706
+ * @param A A single matrix
2707
+ * @param dimension The minimum over the selected dimension
2708
+ * @returns The minimum value
2709
+ */
2710
+ min(A: MathCollection, dimension?: number | BigNumber): MathScalarType
2657
2711
 
2658
2712
  /**
2659
2713
  * Computes the mode of a set of numbers or a list with values(numbers
2660
2714
  * or characters). If there are more than one modes, it returns a list
2661
2715
  * of those values.
2662
- * @param args A single matrix
2716
+ * @param args Multiple scalar values
2663
2717
  * @returns The mode of all values
2664
2718
  */
2665
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2666
- mode(...args: MathType[]): any
2719
+ mode<T extends MathScalarType>(...args: T[]): T
2720
+ /**
2721
+ * @param args Multiple scalar values
2722
+ * @returns The mode of all values
2723
+ */
2724
+ mode(...args: MathScalarType[]): MathScalarType
2725
+ /**
2726
+ * @param A A single matrix
2727
+ * @returns The median value
2728
+ */
2729
+ mode<T extends MathScalarType>(A: T[] | T[][]): T
2730
+ /**
2731
+ * @param A A single matrix
2732
+ * @returns The mode of all values
2733
+ */
2734
+ mode(A: MathCollection): MathScalarType
2667
2735
 
2668
2736
  /**
2669
2737
  * Compute the product of a matrix or a list with values. In case of a
2670
2738
  * (multi dimensional) array or matrix, the sum of all elements will be
2671
2739
  * calculated.
2672
- * @param args A single matrix or multiple scalar values
2740
+ * @param args Multiple scalar values
2673
2741
  * @returns The product of all values
2674
2742
  */
2675
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2676
- prod(...args: MathType[]): any
2743
+ prod<T extends MathScalarType>(...args: T[]): T
2744
+ /**
2745
+ * @param args Multiple scalar values
2746
+ * @returns The product of all values
2747
+ */
2748
+ prod(...args: MathScalarType[]): MathScalarType
2749
+ /**
2750
+ * @param A A single matrix
2751
+ * @returns The product of all values
2752
+ */
2753
+ prod<T extends MathScalarType>(A: T[] | T[][]): T
2754
+ /**
2755
+ * @param A A single matrix
2756
+ * @returns The product of all values
2757
+ */
2758
+ prod(A: MathCollection): MathScalarType
2677
2759
 
2678
2760
  /**
2679
2761
  * Compute the prob order quantile of a matrix or a list with values.
@@ -2705,10 +2787,15 @@ declare namespace math {
2705
2787
  * values: 'unbiased' (default) The sum of squared errors is divided by
2706
2788
  * (n - 1) 'uncorrected' The sum of squared errors is divided by n
2707
2789
  * 'biased' The sum of squared errors is divided by (n + 1)
2708
- * @param a variadic argument of number to calculate standard deviation
2709
- * @returns The standard deviation array
2790
+ * @param args variadic argument of number to calculate standard deviation
2791
+ * @returns The standard deviation
2792
+ */
2793
+ std<T extends MathScalarType>(...args: T[]): T
2794
+ /**
2795
+ * @param args Multiple scalar values
2796
+ * @returns The standard deviation
2710
2797
  */
2711
- std(...values: number[]): number
2798
+ std(...args: MathScalarType[]): MathScalarType
2712
2799
  /**
2713
2800
  * Compute the standard deviation of a matrix or a list with values. The
2714
2801
  * standard deviations is defined as the square root of the variance:
@@ -2730,7 +2817,7 @@ declare namespace math {
2730
2817
  array: MathCollection,
2731
2818
  dimension?: number,
2732
2819
  normalization?: 'unbiased' | 'uncorrected' | 'biased'
2733
- ): number[]
2820
+ ): MathNumericType[]
2734
2821
  /**
2735
2822
  * Compute the standard deviation of a matrix or a list with values. The
2736
2823
  * standard deviations is defined as the square root of the variance:
@@ -2750,7 +2837,7 @@ declare namespace math {
2750
2837
  std(
2751
2838
  array: MathCollection,
2752
2839
  normalization: 'unbiased' | 'uncorrected' | 'biased'
2753
- ): number
2840
+ ): MathNumericType
2754
2841
 
2755
2842
  /**
2756
2843
  * Compute the sum of a matrix or a list with values. In case of a
@@ -2759,14 +2846,27 @@ declare namespace math {
2759
2846
  * @param args A single matrix or multiple scalar values
2760
2847
  * @returns The sum of all values
2761
2848
  */
2762
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2763
- sum(...args: Array<number | BigNumber | Fraction>): any
2849
+ sum<T extends MathScalarType>(...args: T[]): T
2764
2850
  /**
2765
- * @param array A single matrix
2851
+ * @param args Multiple scalar values
2766
2852
  * @returns The sum of all values
2767
2853
  */
2768
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2769
- sum(array: MathCollection): any
2854
+ sum(...args: MathScalarType[]): MathScalarType
2855
+ /**
2856
+ * @param A A single matrix
2857
+ * @param dimension The sum over the selected dimension
2858
+ * @returns The sum of all values
2859
+ */
2860
+ sum<T extends MathScalarType>(
2861
+ A: T[] | T[][],
2862
+ dimension?: number | BigNumber
2863
+ ): T
2864
+ /**
2865
+ * @param A A single matrix
2866
+ * @param dimension The sum over the selected dimension
2867
+ * @returns The sum of all values
2868
+ */
2869
+ sum(A: MathCollection, dimension?: number | BigNumber): MathScalarType
2770
2870
 
2771
2871
  /**
2772
2872
  * Count the number of elements of a matrix, array or string.
@@ -2804,8 +2904,7 @@ declare namespace math {
2804
2904
  * @param args A single matrix or multiple scalar values
2805
2905
  * @returns The variance
2806
2906
  */
2807
- variance(...args: Array<number | BigNumber | Fraction>): number
2808
-
2907
+ variance(...args: MathNumericType[]): MathNumericType
2809
2908
  /**
2810
2909
  * Compute the variance of a matrix or a list with values. In case of a
2811
2910
  * (multi dimensional) array or matrix, the variance over all elements
@@ -2828,7 +2927,7 @@ declare namespace math {
2828
2927
  array: MathCollection,
2829
2928
  dimension?: number,
2830
2929
  normalization?: 'unbiased' | 'uncorrected' | 'biased'
2831
- ): number[]
2930
+ ): MathNumericType[]
2832
2931
  /**
2833
2932
  * @param array A single matrix
2834
2933
  * @param normalization normalization Determines how to normalize the
@@ -2839,7 +2938,7 @@ declare namespace math {
2839
2938
  variance(
2840
2939
  array: MathCollection,
2841
2940
  normalization: 'unbiased' | 'uncorrected' | 'biased'
2842
- ): number
2941
+ ): MathNumericType
2843
2942
 
2844
2943
  /*************************************************************************
2845
2944
  * String functions
@@ -3781,7 +3880,7 @@ declare namespace math {
3781
3880
  equalBase(unit: Unit): boolean
3782
3881
  equals(unit: Unit): boolean
3783
3882
  multiply(unit: Unit): Unit
3784
- divide(unit: Unit): Unit
3883
+ divide(unit: Unit): Unit | number
3785
3884
  pow(unit: Unit): Unit
3786
3885
  abs(unit: Unit): Unit
3787
3886
  to(unit: string): Unit