math_root_find 0.0.1 → 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.
Files changed (2) hide show
  1. data/lib/math_root_find.rb +6 -3
  2. metadata +3 -3
@@ -1,5 +1,5 @@
1
1
  module SuperMath
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.1"
3
3
 
4
4
  # optimized version of find_root, performs 10000 roots' calculations per sec on Core 2 Duo 2.67
5
5
  def self.find_root(a, b, precision=0.01, allow_oob_roots=false, &blk)
@@ -8,8 +8,11 @@ module SuperMath
8
8
  while true do
9
9
  # puts "f(#{a},#{(a/precision).truncate})=#{fa}, f(#{b},#{(b/precision).truncate})=#{fb}"
10
10
  raise "Looking for roots out of bounds" if !allow_oob_roots && sa == sb
11
- return a if (a-b).abs < precision || fa.abs <= precision
12
- return b if fb.abs <= precision
11
+
12
+ return a if (a-b).abs < precision
13
+ # return a if (a-b).abs < precision || fa.abs <= precision
14
+ # return b if fb.abs <= precision
15
+
13
16
  c = (a.to_f + b.to_f) / 2
14
17
  fc = yield(c)
15
18
  sc = fc >= 0 ? 1 : -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: math_root_find
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-11-10 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
17
- requirement: &70339107627020 !ruby/object:Gem::Requirement
17
+ requirement: &70278180862080 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70339107627020
25
+ version_requirements: *70278180862080
26
26
  description: Simple math extension that performs f(x)==0 equation numerical root calculation.
27
27
  Takes a block as an equation and tries to call it the least amount of times.
28
28
  email: