epitools 0.5.82 → 0.5.83

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
  SHA1:
3
- metadata.gz: 7d8582a82f2b83be800a230a245509867e8d3030
4
- data.tar.gz: a001aa5d42cb18dd30bdb3d702233182ae065477
3
+ metadata.gz: 6adabc111d21c1df43a1d1a47eb88239659f3323
4
+ data.tar.gz: e134b34f0489180eebab792bc44da289938c65bd
5
5
  SHA512:
6
- metadata.gz: 85f076412d6027d1229094d1a7a20974b18ba3d0485ef84db9520ca7709298ae6d31807e3c1db516ceda008a1718ba3c7ab6264ff6d9d04d3fd977122b0a5b8e
7
- data.tar.gz: 33abc6e8357cec5e8bbfe04f89400b868ab6d45908ab48ad08954dda5ca78ec29ab7dcae2c6baa1d4e5c1aa6ab22fe46503526ffe253593568b1355c85192770
6
+ metadata.gz: 7c0049d721edbedf5d39b3ea4288c7c98070f0a6ed369ff0be257b9198aaf406f8dbe34318fabb4042d5b70461267429e105ee1809c1d51a3c16fabe3863f2b5
7
+ data.tar.gz: b1b2ad4b655c76d6cf5fee775b227e5459c0d569a6e812149321ccda5e21573de8c7fed8661c5ef25fd726d234cd6025fbf70bc6807fdcfbcd6fb727753cd73d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.82
1
+ 0.5.83
@@ -312,10 +312,16 @@ class Integer
312
312
  end
313
313
 
314
314
  #
315
- # Factorial (iterated style)
315
+ # Factorial
316
316
  #
317
317
  def fact
318
- (2..self).reduce(:*)
318
+ if self < 0
319
+ -(1..-self).reduce(:*)
320
+ elsif self == 0
321
+ 1
322
+ else
323
+ (1..self).reduce(:*)
324
+ end
319
325
  end
320
326
  alias_method :factorial, :fact
321
327
 
@@ -398,6 +398,15 @@ describe Integer do
398
398
  [3,5,7,11,13,17,23,3628273133].all? { |n| n.should be_prime }
399
399
  end
400
400
 
401
+ it "factorializes" do
402
+ -3.fact.should == -6
403
+ 0.fact.should == 1
404
+ 1.fact.should == 1
405
+ 2.fact.should == 2
406
+ 42.fact.should == 1405006117752879898543142606244511569936384000000000
407
+ 9.fact.should == 9.factorial
408
+ end
409
+
401
410
  end
402
411
 
403
412
  describe Float do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epitools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.82
4
+ version: 0.5.83
5
5
  platform: ruby
6
6
  authors:
7
7
  - epitron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-14 00:00:00.000000000 Z
11
+ date: 2015-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec