infinity 0.0.7 → 0.0.8
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.
- data/README.rdoc +33 -1
- data/VERSION +1 -1
- data/infinity.gemspec +53 -0
- data/lib/infinity.rb +6 -0
- data/test/test_infinity.rb +7 -0
- metadata +4 -3
data/README.rdoc
CHANGED
@@ -1,6 +1,38 @@
|
|
1
1
|
= infinity
|
2
2
|
|
3
|
-
|
3
|
+
Class to deal with Infinity conditions.
|
4
|
+
Regular arithmatic:
|
5
|
+
|
6
|
+
3 * Infinity # => Infinity
|
7
|
+
3 + Infinity # => Infinity
|
8
|
+
3 / Infinity # => Infinity
|
9
|
+
3 - Infinity # => Infinity
|
10
|
+
|
11
|
+
Infinity arithmatic:
|
12
|
+
|
13
|
+
0 * Infinity #=> 0
|
14
|
+
Infinity * Infinity # => Infinity
|
15
|
+
Infinity + Infinity # => Infinity
|
16
|
+
Infinity / Infinity # => 1
|
17
|
+
Infinity - Infinity # => 0
|
18
|
+
|
19
|
+
Infinity comparisons
|
20
|
+
|
21
|
+
Infinity > 23 # => true
|
22
|
+
Infinity < 23 # => false
|
23
|
+
Infinity < Object # => false
|
24
|
+
Infinity > Object # => true
|
25
|
+
Infinity == Infinity # => true
|
26
|
+
Infinity > Infinity # => false
|
27
|
+
Infinity < Infinity # => false
|
28
|
+
|
29
|
+
|
30
|
+
to handle division by zero without raising an error.
|
31
|
+
|
32
|
+
require 'infinity/zero'
|
33
|
+
|
34
|
+
3 / 0 # => Infinity
|
35
|
+
3.0 / 0 # => Infinity
|
4
36
|
|
5
37
|
== Note on Patches/Pull Requests
|
6
38
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.8
|
data/infinity.gemspec
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{infinity}
|
8
|
+
s.version = "0.0.8"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Daniel Bretoi"]
|
12
|
+
s.date = %q{2010-07-10}
|
13
|
+
s.description = %q{simple lib to deal with infinate numbers}
|
14
|
+
s.email = %q{daniel@netwalk.org}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"LICENSE",
|
21
|
+
"README.rdoc",
|
22
|
+
"Rakefile",
|
23
|
+
"VERSION",
|
24
|
+
"infinity.gemspec",
|
25
|
+
"lib/infinity.rb",
|
26
|
+
"lib/infinity/zero.rb",
|
27
|
+
"test/helper.rb",
|
28
|
+
"test/test_infinity.rb"
|
29
|
+
]
|
30
|
+
s.homepage = %q{http://github.com/danielb2/infinity}
|
31
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
32
|
+
s.require_paths = ["lib"]
|
33
|
+
s.rubygems_version = %q{1.3.7}
|
34
|
+
s.summary = %q{simple lib to deal with infinate numbers}
|
35
|
+
s.test_files = [
|
36
|
+
"test/helper.rb",
|
37
|
+
"test/test_infinity.rb"
|
38
|
+
]
|
39
|
+
|
40
|
+
if s.respond_to? :specification_version then
|
41
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
42
|
+
s.specification_version = 3
|
43
|
+
|
44
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
45
|
+
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
46
|
+
else
|
47
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
48
|
+
end
|
49
|
+
else
|
50
|
+
s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
data/lib/infinity.rb
CHANGED
@@ -4,6 +4,8 @@ class Infinity
|
|
4
4
|
self
|
5
5
|
end
|
6
6
|
def -(obj)
|
7
|
+
return 0 if obj == Infinity
|
8
|
+
return 0 if obj.kind_of? Infinity
|
7
9
|
self
|
8
10
|
end
|
9
11
|
def /(obj)
|
@@ -17,9 +19,13 @@ class Infinity
|
|
17
19
|
self
|
18
20
|
end
|
19
21
|
def >(obj)
|
22
|
+
return false if obj == Infinity
|
23
|
+
return false if obj.kind_of? Infinity
|
20
24
|
true
|
21
25
|
end
|
22
26
|
def <(obj)
|
27
|
+
return false if obj == Infinity
|
28
|
+
return false if obj.kind_of? Infinity
|
23
29
|
false
|
24
30
|
end
|
25
31
|
def to_str
|
data/test/test_infinity.rb
CHANGED
@@ -7,6 +7,9 @@ class TestInfinity < Test::Unit::TestCase
|
|
7
7
|
assert_equal(Infinity, (Infinity / 23))
|
8
8
|
assert_equal(Infinity, (Infinity * 23))
|
9
9
|
assert_equal(1, (Infinity / Infinity))
|
10
|
+
assert_equal(0, (Infinity - Infinity))
|
11
|
+
assert_equal(Infinity, (Infinity * Infinity))
|
12
|
+
assert_equal(Infinity, (Infinity + Infinity))
|
10
13
|
assert_equal(1, (Infinity.new / Infinity))
|
11
14
|
assert_equal(1, (Infinity.new / Infinity.new))
|
12
15
|
assert_equal(0, Infinity * 0)
|
@@ -17,6 +20,10 @@ class TestInfinity < Test::Unit::TestCase
|
|
17
20
|
assert(Infinity > 23)
|
18
21
|
assert_equal(false, Infinity < 23)
|
19
22
|
assert(Infinity == Infinity)
|
23
|
+
assert_equal(false, Infinity < Infinity)
|
24
|
+
assert_equal(false, Infinity > Infinity)
|
25
|
+
assert_equal(true, Infinity > Time)
|
26
|
+
assert_equal(false, Infinity < Time)
|
20
27
|
end
|
21
28
|
|
22
29
|
should "test string" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infinity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 8
|
10
|
+
version: 0.0.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel Bretoi
|
@@ -46,6 +46,7 @@ files:
|
|
46
46
|
- README.rdoc
|
47
47
|
- Rakefile
|
48
48
|
- VERSION
|
49
|
+
- infinity.gemspec
|
49
50
|
- lib/infinity.rb
|
50
51
|
- lib/infinity/zero.rb
|
51
52
|
- test/helper.rb
|