prubybility 0.0.10 → 0.0.11

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
  SHA256:
3
- metadata.gz: 7008a898bc7c90b667bd58172ddc33537c87a4f8286768257c240fe5217d3917
4
- data.tar.gz: cbeaad372d0ac0753242d241be73d26031f7949649a46ea4bdb77019c6aebe4a
3
+ metadata.gz: 790170e89a7c891831abb215dbc77ada38b587e6ea631b4f31fcc200d8820ae5
4
+ data.tar.gz: 2dd4031d7521c0cf6b5adf95fca477c2d7c664284496d90868481fccf57fcc56
5
5
  SHA512:
6
- metadata.gz: 83f5245aa2c4994cf23c1e25aff636ba6812c39e877c85c597bafa3eda1c54881fffeaae51737fd55e440256fd5c826b856f788ee1c6992a4a6a9de80e6acb9b
7
- data.tar.gz: 586dcbb65407a4ffd4f7652a833ffbe667380594bddc5202080e2387fd304d34d05bc7005194679894635c65a9998f47213c673f1086912bc52e69cf978eb053
6
+ metadata.gz: ba3a53b4d9ddd08e3db885f63fde6db6d815ca16c355d6fd669d8eb7424dd137df665554e20d354096c125c940972f981cb43c8ee77677c9b273f0075041c1d5
7
+ data.tar.gz: '091618c288164478bed9703d9929788f9146c1dfce6656598906cbd4e1a06fd23d29cd1fc593e95d28e07ee599b1876d695f6deb93b7c3d748a8407575c3c315'
@@ -5,8 +5,6 @@ module Prubybility
5
5
  #
6
6
  # See README for example usages.
7
7
  class Binomial
8
- # include Prubybility::Combinations
9
-
10
8
  attr_reader :n, :theta, :expected_value, :variance
11
9
 
12
10
  alias mean expected_value
@@ -25,7 +23,6 @@ module Prubybility
25
23
  private
26
24
 
27
25
  def choose(var)
28
- return 0.0 if var < 0
29
26
  Prubybility::Combinations.choose(n, var)
30
27
  end
31
28
 
@@ -16,10 +16,22 @@ module Prubybility
16
16
  extern 'char* binom(long, long)'
17
17
 
18
18
  def self.choose(x, y)
19
+ return unless valid_input?(x, y)
20
+
19
21
  ptr = binom(x, y)
20
22
  int = ptr.to_s.to_i
21
23
  free_binom(ptr)
22
24
  int
23
25
  end
26
+
27
+ private
28
+
29
+ def self.valid_input?(x, y)
30
+ return false unless x.is_a?(Integer) && y.is_a?(Integer)
31
+ return false unless x > 0 && y > 0
32
+ return false unless x < 2**64 && y < 2**64
33
+ return false unless x >= y
34
+ true
35
+ end
24
36
  end
25
37
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Prubybility
4
- VERSION = '0.0.10'
4
+ VERSION = '0.0.11'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prubybility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Lee
@@ -58,7 +58,6 @@ files:
58
58
  - lib/prubybility/binomial.rb
59
59
  - lib/prubybility/combinations.rb
60
60
  - lib/prubybility/geometric.rb
61
- - lib/prubybility/libprubybility.so
62
61
  - lib/prubybility/negative_binomial.rb
63
62
  - lib/prubybility/version.rb
64
63
  - prubybility.gemspec
Binary file