unodos 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1d6382656d25e32af8472594431238876b8d272f5e1dd3f11a4280dba447ec1
4
- data.tar.gz: 833359582ee40ccc6bcd9aa8c0ff4ad31ef4a5669e0221ffe374e38d2be21ba9
3
+ metadata.gz: 8e97a641cc674115e3d71bbcdb9f6e09bd6229bd990931a1436d2c080deb7b26
4
+ data.tar.gz: a591090f58cba23ca2c2d01d31ce95db07c0a7e4e592f02e0f88fb9d0c0537e4
5
5
  SHA512:
6
- metadata.gz: 7c1940eb0e70201528757a3ef91eec0fbc573a70813bf8b0eb88f8e6837ef741840be93a29226fc02101771b6adbdc956cc900c4b9096d95c6f642b43796eca9
7
- data.tar.gz: 5a79be567967b770e3441430960913e8cbd35718d246f2d31db349bdba5310b3c786905d3855013e49d4523c0aee835eb3c4b9d4d0dc1e2cf1e3e803bdff2ea2
6
+ metadata.gz: 182546f1fc0e1071819cfc9adbd32ff5b5031ce09bc1a5262cf611a1ca89e32df4a611ad4a52b939264c32c1a15d6d63b874f0909d5ad103d7d2593a7e2f68b0
7
+ data.tar.gz: df6f94e4f151ca9a0204e724ec3c7f33c59a61378895ff7be7b8579483e560b7147b3fd3e6636a5fe34c4c1bb35535df10f88bfe4d5cecfcda0cebef995ae94c
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  coverage/
2
+ pkg/
data/Gemfile CHANGED
@@ -5,4 +5,4 @@ gemspec
5
5
 
6
6
  gem 'rake', '~> 12.0'
7
7
  gem 'minitest', '~> 5.0'
8
- gem 'simplecov'
8
+ gem 'simplecov'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unodos (0.1.0)
4
+ unodos (0.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  ```ruby
4
4
  require 'unodos'
5
- Unodos[1,2,3].take(5) # => [1,2,3,4,5]
5
+ Unodos[1,2].take(5) # => [1,2,3,4,5]
6
6
  Unodos[1,2,4].take(5) # => [1,2,4,8,16]
7
7
  Unodos[1,1,2,3,5].take(8) # => [1,1,2,3,5,8,13,21]
8
- Unodos[1,1,2,4,3,9,4,16,5].take(10) #=> [1,1,2,4,3,9,4,16,5,25]
8
+ Unodos[1,1,2,4,3,9,4,16,5].take(10) # => [1,1,2,4,3,9,4,16,5,25]
9
9
 
10
10
  # to see the generated rule
11
- Unodos[4,1,0,1,4,9].rule #=> "a[n]=4-4*n+n**2"
12
- Unodos[1,2,4,5,7,8].rule #=> "a[n]=-a[n-1]+3*n"
11
+ Unodos[4,1,0,1,4,9].rule # => "a[n]=4-4*n+n**2"
12
+ Unodos[1,2,4,5,7,8].rule # => "a[n]=-a[n-1]+3*n"
13
13
  ```
14
14
 
15
15
  ## Installation
@@ -24,6 +24,6 @@ gem 'unodos'
24
24
  require 'unodos/sugar' # will add Array#infinite
25
25
  [1,2,3].infinite.take(5) #=> [1,2,3,4,5]
26
26
  using Unodos::Sugar # will change [numbers, number..].some_method
27
- [1,2,3..].take(5) #=> [1,2,3,4,5]
28
- [1,1,2,3,5..].find_index(144) #=> 11
27
+ [1,2...].take(5) #=> [1,2,3,4,5]
28
+ [1,1,2,3,5...].find_index(144) #=> 11
29
29
  ```
data/lib/unodos/base.rb CHANGED
@@ -27,4 +27,4 @@ module Unodos
27
27
 
28
28
  alias inspect to_s
29
29
  end
30
- end
30
+ end
@@ -24,7 +24,6 @@ class Unodos::Infinite < Enumerator
24
24
 
25
25
  def rule
26
26
  es = @elements.map.with_index do |(base, v), i|
27
- sign = i != 0
28
27
  name = base.to_s
29
28
  s = if name == '1'
30
29
  Unodos::Formatter.format v
data/lib/unodos/solver.rb CHANGED
@@ -7,8 +7,7 @@ module Unodos::Solver
7
7
  Unodos::NamedBase.new('n**2') { |n| n**2 },
8
8
  Unodos::NamedBase.new('n**3') { |n| n**3 },
9
9
  Unodos::NamedBase.new('n**4') { |n| n**4 },
10
- Unodos::NamedBase.new('n**5') { |n| n**5 },
11
- Unodos::NamedBase.new('2**n') { |n| 2**n },
10
+ Unodos::NamedBase.new('n**5') { |n| n**5 }
12
11
  ]
13
12
 
14
13
  def self.lup_solve(lup, b)
@@ -86,7 +85,7 @@ module Unodos::Solver
86
85
  least_square_solve vectors, bvector, &block
87
86
  elsif first_required && max_items == 2
88
87
  find_solve vectors, bvector, &block
89
- elsif
88
+ else
90
89
  recursive_solve vectors, bvector, first_required, &block
91
90
  end
92
91
  end
@@ -105,10 +104,8 @@ module Unodos::Solver
105
104
  end
106
105
 
107
106
  def self.recursive_solve(vectors, bvector, first_required, &block)
108
- return least_square_solve vectors, bvector, &block if vectors.size < bvector.size
109
107
  size = vectors.size
110
108
  out_size = bvector.size
111
- skip_size = size - out_size
112
109
  lup = Matrix[*vectors.transpose].lup
113
110
  mat_l = lup.l
114
111
  mat_u = lup.u.to_a
data/lib/unodos/sugar.rb CHANGED
@@ -24,4 +24,4 @@ module Unodos::Sugar
24
24
  end
25
25
  end
26
26
  end
27
- end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Unodos
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unodos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - tompng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-30 00:00:00.000000000 Z
11
+ date: 2020-01-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Infinite number sequence generator
14
14
  email: