repeating-decimal 0.0.1 → 0.0.2

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
@@ -1,29 +1,39 @@
1
- # repeating-decimal
2
- Convert repeating decimals into exact fractions.
3
-
4
- This package provides a utility to convert numbers with repeating parts(e.g. 0.987123123123...=41089/41625) into a reduced fractional representation.
5
-
6
- ## Features
7
-
8
- - Convert repeating decimals to fractions
9
- - Supports arbitrary bases (2–36)
10
- - Fully written in TypeScript
11
- - ESM-compatible
12
- - No external runtime dependencies
13
-
14
- ## Installation
15
-
16
- ```bash
17
- npm install repeating-fraction
18
- ```
19
-
20
- ## Usage
21
- ```typescript
22
- import { make_fraction } from "repeating-fraction";
23
-
24
- const result = make_fraction("009","123",10));
25
-
26
- console.log(result);
27
- // {numerator: 1519,denominator: 166500}
28
- // 1519/166500=0.009123123...
29
- ```
1
+ # repeating-decimal
2
+ Convert repeating decimals into Fractions.
3
+
4
+ This package provides a utility to convert numbers with repeating parts(e.g. 0.987123123123...=41089/41625) into a reduced fractional representation.
5
+
6
+ ## Waring
7
+ There is currently a bug that may prevent numbers from being generated correctly if they contain zeros.
8
+
9
+ ## Features
10
+
11
+ - Convert repeating decimals to fractions
12
+ - Supports arbitrary bases (2–36)
13
+ - Fully written in TypeScript
14
+ - ESM-compatible
15
+ - No external runtime dependencies
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ npm install repeating-decimal
21
+ ```
22
+
23
+ ## Usage
24
+ ```typescript
25
+ import { make_fraction } from "repeating-decimal";
26
+
27
+ const result = make_fraction(
28
+ {
29
+ integer:0,
30
+ leading_decimal:"009",
31
+ repeating_decimal:"123"
32
+ },
33
+ 10
34
+ );
35
+
36
+ console.log(result);
37
+ // {numerator: 1519,denominator: 166500}
38
+ // 1519/166500=0.009123123...
39
+ ```
package/dist/index.d.ts CHANGED
@@ -2,5 +2,10 @@ export interface Fraction {
2
2
  numerator: number;
3
3
  denominator: number;
4
4
  }
5
- export declare function make_fraction(head: string, body: string, base: number): Fraction;
5
+ export interface Repeating_decimal {
6
+ integer: number;
7
+ leading_decimal: string;
8
+ repeating_decimal: string;
9
+ }
10
+ export declare function make_fraction(v: Repeating_decimal, base: number): Fraction;
6
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4EA,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAE,QAAQ,CA+B1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4EA,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAC,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAC,iBAAiB,EAAC,IAAI,EAAC,MAAM,GAAE,QAAQ,CAoCtE"}
package/dist/index.js CHANGED
@@ -59,7 +59,9 @@ function check_parameter(head, body, base) {
59
59
  throw new Error("bodyは英数値しか入力出来ません。");
60
60
  }
61
61
  }
62
- export function make_fraction(head, body, base) {
62
+ export function make_fraction(v, base) {
63
+ const head = v.leading_decimal;
64
+ const body = v.repeating_decimal;
63
65
  check_parameter(head, body, base);
64
66
  const head_array = head.split('').map(v => parseInt(v, base));
65
67
  const body_array = body.split('').map(v => parseInt(v, base));
@@ -80,6 +82,7 @@ export function make_fraction(head, body, base) {
80
82
  else {
81
83
  result = body_result;
82
84
  }
85
+ result[0] += result[1] * v.integer;
83
86
  let result_temp2 = gcd(result[0], result[1]);
84
87
  result[0] /= result_temp2;
85
88
  result[1] /= result_temp2;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,81 @@ import { test, expect } from "vitest";
2
2
  import { make_fraction } from "./index.js";
3
3
  test("check make_fraction", () => {
4
4
  //41089/41625=0.987123123...
5
- expect(make_fraction("987", "123", 10)).toStrictEqual({
5
+ expect(make_fraction({
6
+ integer: 0,
7
+ leading_decimal: "987",
8
+ repeating_decimal: "123"
9
+ }, 10)).toStrictEqual({
6
10
  numerator: 41089,
7
11
  denominator: 41625
8
12
  });
9
- expect(make_fraction("009", "123", 10)).toStrictEqual({
13
+ expect(make_fraction({
14
+ integer: 0,
15
+ leading_decimal: "009",
16
+ repeating_decimal: "123"
17
+ }, 10)).toStrictEqual({
10
18
  numerator: 1519,
11
19
  denominator: 166500
12
20
  });
13
- expect(make_fraction("987", "01", 10)).toStrictEqual({
21
+ /*正しい値がわからないので一旦コメントアウト
22
+ expect(
23
+ make_fraction(
24
+ {
25
+ integer:0,
26
+ leading_decimal:"090909",
27
+ repeating_decimal:"123"
28
+ },
29
+ 10
30
+ )
31
+ ).toStrictEqual({
32
+ numerator: 1519,
33
+ denominator: 166500
34
+ });
35
+ */
36
+ expect(make_fraction({
37
+ integer: 0,
38
+ leading_decimal: "987",
39
+ repeating_decimal: "10"
40
+ }, 10)).toStrictEqual({
14
41
  numerator: 97723,
15
- denominator: 99000,
42
+ denominator: 99000
43
+ });
44
+ /*正しい値がわからないので一旦コメントアウト
45
+ expect(
46
+ make_fraction(
47
+ {
48
+ integer:0,
49
+ leading_decimal:"987",
50
+ repeating_decimal:"01"
51
+ },
52
+ 10
53
+ )
54
+ ).toStrictEqual({
55
+ numerator:0,
56
+ denominator:0
57
+ });
58
+
59
+ expect(
60
+ make_fraction(
61
+ {
62
+ integer:3,
63
+ leading_decimal:"987",
64
+ repeating_decimal:"01"
65
+ },
66
+ 10
67
+ )
68
+ ).toStrictEqual({
69
+ numerator: 0,
70
+ denominator: 0
16
71
  });
17
- expect(make_fraction("0a", "bc", 16)).toStrictEqual({
72
+ */
73
+ expect(make_fraction({
74
+ integer: 0,
75
+ leading_decimal: "0a",
76
+ repeating_decimal: "bc"
77
+ }, 16)).toStrictEqual({
18
78
  numerator: 1369,
19
- denominator: 32640,
79
+ denominator: 32640
20
80
  });
21
81
  });
22
82
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAG,MAAM,EAAC,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAG1C,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAChC,4BAA4B;IAC5B,MAAM,CAAC,aAAa,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACnD,SAAS,EAAC,KAAK;QACf,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACnD,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAClD,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACjD,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;AAEJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAG,MAAM,EAAC,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAI1C,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAChC,4BAA4B;IAC5B,MAAM,CACL,aAAa,CACZ;QACE,OAAO,EAAC,CAAC;QACV,eAAe,EAAC,KAAK;QACrB,iBAAiB,EAAC,KAAK;KACvB,EACD,EAAE,CACF,CACD,CAAC,aAAa,CAAC;QACf,SAAS,EAAC,KAAK;QACf,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,MAAM,CACL,aAAa,CACZ;QACE,OAAO,EAAC,CAAC;QACV,eAAe,EAAC,KAAK;QACrB,iBAAiB,EAAC,KAAK;KACvB,EACD,EAAE,CACF,CACD,CAAC,aAAa,CAAC;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH;;;;;;;;;;;;;;MAcE;IAEF,MAAM,CACL,aAAa,CACZ;QACE,OAAO,EAAC,CAAC;QACV,eAAe,EAAC,KAAK;QACrB,iBAAiB,EAAC,IAAI;KACtB,EACD,EAAE,CACF,CACD,CAAC,aAAa,CAAC;QACf,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BE;IAEF,MAAM,CACL,aAAa,CACZ;QACE,OAAO,EAAC,CAAC;QACV,eAAe,EAAC,IAAI;QACpB,iBAAiB,EAAC,IAAI;KACtB,EACD,EAAE,CACF,CACD,CAAC,aAAa,CAAC;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;KAClB,CAAC,CAAC;AAEJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "repeating-decimal",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Convert repeating decimals into exact fractions",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/PenguinCabinet/repeating-decimal",
8
+ "directory": "/"
9
+ },
10
+ "homepage": "https://github.com/PenguinCabinet/repeating-decimal",
5
11
  "type": "module",
6
-
7
12
  "main": "./dist/index.js",
8
13
  "types": "./dist/index.d.ts",
9
14
  "exports": {
@@ -12,24 +17,25 @@
12
17
  "types": "./dist/index.d.ts"
13
18
  }
14
19
  },
15
-
16
20
  "files": [
17
21
  "dist"
18
22
  ],
19
-
20
23
  "scripts": {
21
24
  "build": "tsc",
22
25
  "test": "vitest",
23
26
  "prepublishOnly": "npm run build"
24
27
  },
25
-
26
28
  "keywords": [
27
29
  "math",
28
30
  "fraction",
29
31
  "repeating-decimal",
30
32
  "typescript"
31
33
  ],
32
-
33
34
  "author": "PenguinCabinet",
34
- "license": "MIT"
35
+ "license": "MIT",
36
+ "devDependencies": {
37
+ "@types/node": "^25.0.9",
38
+ "typescript": "^5.9.3",
39
+ "vitest": "^4.0.17"
40
+ }
35
41
  }