hensel_code 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66cd2018d5526bcb03b76f7b36b52dc19247a819d06080e9c4eb9cdda5dfc6f0
4
- data.tar.gz: 720e06f45e699a6178dc5817387b5bfedb115d9951ab767460f03519628c6aef
3
+ metadata.gz: 7109ef429b245037638da445a57e080330889ced172cdbca0402d861618742fe
4
+ data.tar.gz: f20970c13e3b51a34ebacaf3367072bd62ad45ad4954fa276f5352e65d1b68da
5
5
  SHA512:
6
- metadata.gz: de11ee14079125c6220e5181626f0df52574c123d8e1d43a7991d6c3c5788b9cc52ce74d050c02a0baa29367dc474b939680bbcc6a8bb374388cf8c0e51114af
7
- data.tar.gz: 4cbddd470e6c5197b5c27efeed44a5e89bdce6549fa7c1dc6c79035e312e4462d9d03cf732ecfdb555e13484db83300d948d14d7de1a6f31608cfbe00dce0674
6
+ metadata.gz: d0c8425fd3252229dfa7f837cfacc7a1f0de10afd9e0e5946ee86f7da23fa5ed0c826e2cff02b711834f0d37b8f13ff9c22c7aa71da342efa15e2653789252aa
7
+ data.tar.gz: e2a24c597c7d3fd415ef3c8ab7fd7eea11ca9ed66fbffff2b8e6055095edc1b29787e3527479a555305918d05f9b58ddea6e0d9ca75a21b8347aa48581bf7062
data/.codecov.yml ADDED
@@ -0,0 +1,6 @@
1
+ coverage:
2
+ status:
3
+ project:
4
+ default:
5
+ target: 99% # the required coverage value
6
+ threshold: 1% # the leniency in hitting the target
data/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
- ## [Unreleased]
1
+ ## [0.4.0] - 2022-03-29
2
+ - Add the fourth type of supported Hensel code: the finite-segement g-adic Hensel code.
2
3
 
3
- ## [0.1.0] - 2022-03-01
4
+ ## [0.3.1] - 2022-03-25
5
+ - Fix the method `random_distinct_numbers` in `Tools` which was allowing duplicated random numbers.
6
+
7
+ ## [0.3.0] - 2022-03-12
8
+
9
+ - Add the `Polynomial` class for arithmetic with fixed-length polynomials
10
+ - Change the class `TruncatedFinitePadicExpansion` for carrying all computaitons over fixed-length polynomials reduced modulo `p`
11
+ - Add the third type of supported Hensel code: the truncated finite-segment g-adic Hensel code.
12
+ - Add `GAdicBase` as the parent class of `TruncatedFiniteGadicExpansion`.
13
+ - Allow converting a finite-segment p-adic Hensel code into a truncated p-adic Hensel code.
14
+ - Add the Chinese Remainder Theorem algorithm (CRT) to the module `Tools`
15
+ - Improve helpers for generating distinct random numbers (integers, primes, and rationals)
16
+ - Add the inverse function for all three currently supported types of Hensel codes
17
+ - Overall improvements in the code
18
+
19
+ ## [0.2.1] - 2022-03-05
20
+ - Fix version build
21
+
22
+ ## [0.2.0] - 2022-03-05
23
+
24
+ - Add the second type of supported Hensel code: the finite-segment p-adic Hensel code.
25
+ - Allow converting a finite-segment p-adic Hensel code into a truncated p-adic Hensel code.
26
+ - Support all four arithemtic operations.
27
+ - Add `PAdicBase` as the parent class of `FinitePadicExpansion` and `TruncatedFinitePadicExpansion`.
28
+
29
+
30
+ ## [0.1.0] - 2022-03-03
4
31
 
5
32
  - Initial release
33
+ - Contain general tools for integer manipulation such us random number generation, random integer generation, extended gcd, and modular multiplicative inverse.
34
+ - Add the first type of supported Hensel code: the truncated finite-segment p-adic expansion Hensel code or simply truncated p-adic Hensel code.
35
+ - Allow encoding rational numbers with the classs `TruncatedFinitePadicExpansion` and perform all four basic arithmetic operations on truncated p-adic Hensel codes: addition, subtraction, multiplication, and division.
data/Gemfile CHANGED
@@ -17,6 +17,6 @@ gem "rubocop-rake", "~> 0.6"
17
17
 
18
18
  gem "minitest-reporters", "~> 1.5"
19
19
 
20
- gem "prime", "~> 0.1.2"
21
-
22
20
  gem "codecov", require: false, group: :test
21
+
22
+ gem "simplecov-console", "~>0.9", require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hensel_code (0.2.1)
4
+ hensel_code (0.3.1)
5
+ openssl (~> 3.0.0)
6
+ prime (~> 0.1.2)
5
7
 
6
8
  GEM
7
9
  remote: https://rubygems.org/
@@ -19,6 +21,7 @@ GEM
19
21
  builder
20
22
  minitest (>= 5.0)
21
23
  ruby-progressbar
24
+ openssl (3.0.0)
22
25
  parallel (1.21.0)
23
26
  parser (3.1.1.0)
24
27
  ast (~> 2.4.1)
@@ -49,9 +52,15 @@ GEM
49
52
  docile (~> 1.1)
50
53
  simplecov-html (~> 0.11)
51
54
  simplecov_json_formatter (~> 0.1)
55
+ simplecov-console (0.9.1)
56
+ ansi
57
+ simplecov
58
+ terminal-table
52
59
  simplecov-html (0.12.3)
53
60
  simplecov_json_formatter (0.1.4)
54
61
  singleton (0.1.1)
62
+ terminal-table (3.0.2)
63
+ unicode-display_width (>= 1.1.1, < 3)
55
64
  unicode-display_width (2.1.0)
56
65
 
57
66
  PLATFORMS
@@ -63,11 +72,11 @@ DEPENDENCIES
63
72
  hensel_code!
64
73
  minitest (~> 5.0)
65
74
  minitest-reporters (~> 1.5)
66
- prime (~> 0.1.2)
67
75
  rake (~> 13.0)
68
76
  rubocop (~> 1.21)
69
77
  rubocop-minitest (~> 0.17.2)
70
78
  rubocop-rake (~> 0.6)
79
+ simplecov-console (~> 0.9)
71
80
 
72
81
  BUNDLED WITH
73
82
  2.3.8