Skip to content

Commit f58fde0

Browse files
authored
Merge pull request #24 from soutaro/rbs
Add RBS files and tests
2 parents fe10c98 + 7e232ad commit f58fde0

File tree

5 files changed

+520
-0
lines changed

5 files changed

+520
-0
lines changed

Gemfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,9 @@ group :development do
66
gem "rake"
77
gem "test-unit"
88
gem "test-unit-ruby-core"
9+
10+
# RBS requires Ruby >= 3.0
11+
if RUBY_VERSION >= "3.0.0"
12+
gem "rbs", "~> 3.4.0.dev", require: false, git: "https://github.com/ruby/rbs.git", branch: "master"
13+
end
914
end

sig/integer-extension.rbs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
%a{annotate:rdoc:skip}
2+
class Integer
3+
# <!--
4+
# rdoc-file=lib/prime.rb
5+
# - each_prime(ubound) { |prime| ... }
6+
# -->
7+
# Iterates the given block over all prime numbers.
8+
#
9+
# See `Prime`#each for more details.
10+
#
11+
def self.each_prime: (Integer) { (Integer) -> void } -> void
12+
13+
# <!--
14+
# rdoc-file=lib/prime.rb
15+
# - from_prime_division(pd)
16+
# -->
17+
# Re-composes a prime factorization and returns the product.
18+
#
19+
# See Prime#int_from_prime_division for more details.
20+
#
21+
def self.from_prime_division: (Array[[ String ]]) -> Integer
22+
23+
# <!--
24+
# rdoc-file=lib/prime.rb
25+
# - prime_division(generator = Prime::Generator23.new)
26+
# -->
27+
# Returns the factorization of `self`.
28+
#
29+
# See Prime#prime_division for more details.
30+
#
31+
def prime_division: (?Prime::PseudoPrimeGenerator) -> Array[[ Integer, Integer ]]
32+
33+
# <!--
34+
# rdoc-file=lib/prime.rb
35+
# - prime?()
36+
# -->
37+
# Returns true if `self` is a prime number, else returns false. Not recommended
38+
# for very big integers (> 10**23).
39+
#
40+
def prime?: () -> bool
41+
end

sig/manifest.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dependencies:
2+
- name: singleton

0 commit comments

Comments
 (0)