@numio/bigmath 1.0.6 → 1.0.7

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/README.md CHANGED
@@ -113,12 +113,12 @@ const negative = mul(["-2", "3"]); // -6
113
113
  ```javascript
114
114
  import { div } from "@numio/bigmath";
115
115
 
116
- const int = div(["9999", "33"]); //
116
+ const int = div(["9999", "33"]); // 303
117
117
  const float = div(["0.06", "0.2"]); // 0.3
118
- const negative = div(["-2", "-3", "2"]); // 3
118
+ const negative = div(["-2", "-3", "2"]); //0.33333333333333333333
119
119
 
120
120
  // set number of digit after the decimal. By default it's 20
121
- div("10", "3"); // 3.33333
121
+ div(["10", "3"], 4); // 3.3333
122
122
  ```
123
123
 
124
124
  ### Round
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@numio/bigmath",
3
3
  "description": "@numio/bigmath is an arbitrary-precision arithmetic library. It can be used for basic operations with decimal numbers (integers and float)",
4
- "version": "1.0.6",
4
+ "version": "1.0.7",
5
5
  "keywords": [
6
6
  "precision",
7
7
  "arithmetic",
@@ -2,6 +2,8 @@ import type { CompareRawFn, Max, MaxRawFn, Min, MinRawFn } from "./types.d.ts";
2
2
  export declare const compareRawFn: CompareRawFn;
3
3
  export declare const maxRawFn: MaxRawFn;
4
4
  export declare const minRawFn: MinRawFn;
5
+ /** This function returns max number. */
5
6
  export declare const max: Max;
7
+ /** This function returns min number. */
6
8
  export declare const min: Min;
7
9
  export declare const isGreater: (l: string, r: string) => boolean;
@@ -65,10 +65,12 @@ export var minRawFn = function (array) {
65
65
  }
66
66
  return min;
67
67
  };
68
+ /** This function returns max number. */
68
69
  export var max = function (strs) {
69
70
  var array = strs.map(function (str) { return s2a(str); });
70
71
  return a2s(maxRawFn(array));
71
72
  };
73
+ /** This function returns min number. */
72
74
  export var min = function (strs) {
73
75
  var array = strs.map(function (str) { return s2a(str); });
74
76
  return a2s(minRawFn(array));
@@ -1,2 +1,3 @@
1
1
  import type { Mean } from "./types.d.ts";
2
+ /** This function returns mean of an array. */
2
3
  export declare const mean: Mean;
package/src/mean/main.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { pipe } from "../pipe/main.js";
2
+ /** This function returns mean of an array. */
2
3
  export var mean = function (array) {
3
4
  return pipe.add(array).div([array.length.toString()]).calc();
4
5
  };
@@ -9,5 +9,6 @@ declare class Pipe {
9
9
  mul(strs: string[]): Pipe;
10
10
  calc(): ReturnType<A2S>;
11
11
  }
12
+ /** Using this function you can chain operations (add, sub, div, mul). */
12
13
  export declare const pipe: Pipe;
13
14
  export {};
package/src/pipe/main.js CHANGED
@@ -32,4 +32,5 @@ var Pipe = /** @class */ (function () {
32
32
  };
33
33
  return Pipe;
34
34
  }());
35
+ /** Using this function you can chain operations (add, sub, div, mul). */
35
36
  export var pipe = new Pipe();
@@ -1,2 +1,3 @@
1
1
  import type { Quartile } from "./types.d.ts";
2
+ /** This function returns Q1, Q2, Q3 (quartile). */
2
3
  export declare const quartile: Quartile;
@@ -2,6 +2,7 @@ import { pipe } from "../pipe/main.js";
2
2
  var mean = function (idx, array) {
3
3
  return pipe.add([array[idx], array[idx - 1]]).div(["2"]).calc();
4
4
  };
5
+ /** This function returns Q1, Q2, Q3 (quartile). */
5
6
  export var quartile = function (array) {
6
7
  if (array.length < 3) {
7
8
  throw Error("To calculate quartile you need at least 3 elements");
@@ -9,13 +9,13 @@ export var round = function (value, options) {
9
9
  var sigFig = (_c = options === null || options === void 0 ? void 0 : options.sigFig) !== null && _c !== void 0 ? _c : false;
10
10
  var decimals = (_d = options === null || options === void 0 ? void 0 : options.decimals) !== null && _d !== void 0 ? _d : 0;
11
11
  var isFloat = false;
12
- var isNill = true;
12
+ var isNil = true;
13
13
  for (var i = 0; i < value.length; i++) {
14
14
  var charCode = value.charCodeAt(i);
15
15
  if (sigFig && charCode > 48)
16
16
  sigFig = false;
17
- if (isNill && charCode > 48)
18
- isNill = false;
17
+ if (isNil && charCode > 48)
18
+ isNil = false;
19
19
  if (isFloat && !sigFig)
20
20
  decimals -= 1;
21
21
  if (charCode === 46)
@@ -39,7 +39,7 @@ export var round = function (value, options) {
39
39
  array.push(charCode);
40
40
  }
41
41
  handleTail(array, isFloat);
42
- return (isNill && array[array.length - 1] <= 48)
42
+ return (isNil && array[array.length - 1] <= 48)
43
43
  ? "0"
44
44
  : String.fromCharCode.apply(String, array);
45
45
  };
@@ -28,8 +28,7 @@ export var a2s = function (_a) {
28
28
  result.push(array[i]);
29
29
  }
30
30
  }
31
- result.at(-1) === 46 && result.pop();
32
- return convert(isNegative, result);
31
+ return result.at(-1) === 46 ? "0" : convert(isNegative, result);
33
32
  }
34
33
  return convert(isNegative, array);
35
34
  };
@@ -38,9 +37,10 @@ export var s2a = function (string) {
38
37
  var isNegative = string.charCodeAt(0) === 45;
39
38
  var shift = isNegative ? 1 : 0;
40
39
  var dec = 0;
41
- if ((string.length === 1 && string.charCodeAt(0) === 48) ||
42
- string.length === 2 && string.charCodeAt(0) === 45 &&
43
- string.charCodeAt(1) === 48) {
40
+ var isNil = string.length === 1 && string.charCodeAt(0) === 48;
41
+ var isNegNil = string.length === 2 && string.charCodeAt(0) === 45 &&
42
+ string.charCodeAt(1) === 48;
43
+ if (isNil || isNegNil) {
44
44
  return {
45
45
  array: [48],
46
46
  intLength: 1,
@@ -1,2 +1,3 @@
1
1
  import type { Sort } from "./types.d.ts";
2
+ /** Using this function sort an array. */
2
3
  export declare const sort: Sort;
package/src/sort/main.js CHANGED
@@ -35,6 +35,7 @@ var sortRawFn = function (array, sorting) {
35
35
  }
36
36
  return array;
37
37
  };
38
+ /** Using this function sort an array. */
38
39
  export var sort = function (array, sorting) {
39
40
  if (sorting === void 0) { sorting = ASC; }
40
41
  var inputDataArray = array.map(function (str) { return s2a(str); });