congruence_solver 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -4
- data/lib/congruence_solver/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43e74346a749264dd466f7530e09ff13c31bef4f
|
4
|
+
data.tar.gz: f28d53b28e40db13cca3c9d5d25b744150352fa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0100a959badaf7638b962fc0f2def3b89ccb38d5cabc11c504d470fb0caf46ff36c48f3c43fac1a1b6f24ccd3aded7674762d5b8bfd6ce8e87bdb7909fbb048
|
7
|
+
data.tar.gz: 061c22d1472b32516a83202d09e33b39c3024087a010d6e273cbe167a3acb8654cb07362cfc428cee9b827f6f6622cc470c2a3488f90ce1a7f1e8b37f4e4a815
|
data/README.md
CHANGED
@@ -8,12 +8,19 @@ Polynomial congruences are the central topic of most elementary number theory an
|
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
11
|
-
With [RubyGems](https://rubygems.org/) on your machine, installation is as easy as
|
11
|
+
With [RubyGems](https://rubygems.org/) on your machine, the basic installation is as easy as
|
12
12
|
```shell
|
13
13
|
gem install congruence_solver
|
14
14
|
```
|
15
15
|
|
16
|
-
|
16
|
+
However, if you would like to use this gem *with OpenMP support*, you will need to make sure that the Ruby binary in your path was compiled with a compiler that supports OpenMP - gcc 4.2 or later will work. Determine the compiler option needed to add OpenMP support - for gcc, this is -fopenmp. To install use
|
17
|
+
```shell
|
18
|
+
gem install congruence_solver --openmp=_MY_OPTION_
|
19
|
+
```
|
20
|
+
For gcc, this would be
|
21
|
+
```shell
|
22
|
+
gem install congruence_solver --openmp=-fopenmp
|
23
|
+
```
|
17
24
|
|
18
25
|
## Usage
|
19
26
|
|
@@ -44,11 +51,11 @@ CongruenceSolver.solve_congruence(coeffs, mod).sort #=> [1, 8, 15, 22, 26, 29,
|
|
44
51
|
|
45
52
|
## Limitations
|
46
53
|
|
47
|
-
What are the limitations on the size of the numbers, you ask? CongruenceSolver can solve any congruence with a 16 bit degree that 32 bit coefficients and modulus. Of course, Ruby's Bignum can manage arbitrarily large integers without overflow, but the extension that powers has limitations to maintain speed and simplicity.
|
54
|
+
What are the limitations on the size of the numbers, you ask? CongruenceSolver can solve any congruence with a 16 bit degree that 32 bit coefficients and modulus. Of course, Ruby's Bignum can manage arbitrarily large integers without overflow, but the extension that powers CongruenceSolver has limitations to maintain speed and simplicity.
|
48
55
|
|
49
56
|
## Development
|
50
57
|
|
51
|
-
First, install bundler (`gem install bundler`). Then install this project's dependencies with `bundle install`. Use `bundle exec rake update_ext` to pull and compile the extension. Use `bundle exec rake spec` to run the tests and `bundle exec rake bench` to run the benchmark.
|
58
|
+
First, install bundler (`gem install bundler`). Then install this project's dependencies with `bundle install`. Use `bundle exec rake update_ext` to pull and compile the extension. Use `bundle exec rake spec` to run the tests and `bundle exec rake bench` to run the benchmark.
|
52
59
|
|
53
60
|
## Contributing
|
54
61
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: congruence_solver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|