1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rational/test_fixnum_gcd.rb
nobu 75c1cac7f3 * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@27366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-16 21:51:01 +00:00

811 lines
45 KiB
Ruby

require 'rational'
require 'pp'
require 'test/unit'
require 'rbconfig'
class GcdTest < Test::Unit::TestCase
@@biggest_positive_fixnum = 1
until (x = ((@@biggest_positive_fixnum << 1) + 1)).class == Bignum
@@biggest_positive_fixnum = x
end
@@biggest_positive_fixnum = (@@biggest_positive_fixnum - 10)
until (x = (@@biggest_positive_fixnum + 1)).class == Bignum
@@biggest_positive_fixnum = x
end
@@smallest_positive_bignum = x
@@biggest_negative_fixnum = -1
until (x = (@@biggest_negative_fixnum << 1)).class == Bignum
@@biggest_negative_fixnum = x
end
until (x = (@@biggest_negative_fixnum - 1)).class == Bignum
@@biggest_negative_fixnum = x
end
@@smallest_negative_bignum = x
def xc x
[ x.class, x ].inspect
end
case RbConfig::CONFIG['build_cpu']
when 'amd64', 'x86_64'
# values generated by ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
@@expected =
[["[Fixnum, 1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, 4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, 4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Fixnum, 25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Fixnum, 25] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, -1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Fixnum, -25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Fixnum, -25] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 4611686018427387903]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 4611686018427387903]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 4611686018427387903]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 4611686018427387903]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Bignum, 4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
"[Bignum, 4611686018427387904]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
"[Fixnum, 1]"],
["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, -4611686018427387905] gcd [Bignum, -4611686018427387905] => ",
"[Bignum, 4611686018427387905]"],
["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387905] => ",
"[Bignum, 4611686018427387905]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, 4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387903] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
"[Fixnum, 1]"],
["[Bignum, 4611686018427387905] gcd [Bignum, -4611686018427387905] => ",
"[Bignum, 4611686018427387905]"],
["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387905] => ",
"[Bignum, 4611686018427387905]"]]
when 'i686', 'i386'
# values generated by ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
@@expected =
[["[Fixnum, 1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 1] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, 2] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 2] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, 4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, 4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, 4] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 4] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 5] gcd [Bignum, -1073741825] => ", "[Fixnum, 5]"],
["[Fixnum, 5] gcd [Bignum, 1073741825] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Fixnum, 25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, 25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Fixnum, 25] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 25] gcd [Bignum, -1073741825] => ", "[Fixnum, 25]"],
["[Fixnum, 25] gcd [Bignum, 1073741825] => ", "[Fixnum, 25]"],
["[Fixnum, -1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
["[Fixnum, -2] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -2] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
["[Fixnum, -4] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -4] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -5] gcd [Bignum, -1073741825] => ", "[Fixnum, 5]"],
["[Fixnum, -5] gcd [Bignum, 1073741825] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Fixnum, -25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Fixnum, -25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Fixnum, -25] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -25] gcd [Bignum, -1073741825] => ", "[Fixnum, 25]"],
["[Fixnum, -25] gcd [Bignum, 1073741825] => ", "[Fixnum, 25]"],
["[Fixnum, 1073741823] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1073741823]"],
["[Fixnum, 1073741823] gcd [Fixnum, -1073741823] => ",
"[Fixnum, 1073741823]"],
["[Fixnum, 1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, 1073741823] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, 1073741823] => ",
"[Fixnum, 1073741823]"],
["[Fixnum, -1073741823] gcd [Fixnum, -1073741823] => ",
"[Fixnum, 1073741823]"],
["[Fixnum, -1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741823] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Bignum, 1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Bignum, 1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Bignum, 1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Bignum, 1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Bignum, 1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Bignum, 1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Bignum, 1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Bignum, 1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Bignum, 1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Bignum, 1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
["[Fixnum, -1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
["[Fixnum, -1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
["[Fixnum, -1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
["[Fixnum, -1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
"[Bignum, 1073741824]"],
["[Fixnum, -1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
["[Fixnum, -1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Bignum, -1073741825] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Bignum, -1073741825] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Bignum, -1073741825] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Bignum, -1073741825] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Bignum, -1073741825] gcd [Bignum, -1073741825] => ",
"[Bignum, 1073741825]"],
["[Bignum, -1073741825] gcd [Bignum, 1073741825] => ",
"[Bignum, 1073741825]"],
["[Bignum, 1073741825] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
["[Bignum, 1073741825] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
["[Bignum, 1073741825] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
["[Bignum, 1073741825] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
["[Bignum, 1073741825] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
["[Bignum, 1073741825] gcd [Bignum, -1073741825] => ",
"[Bignum, 1073741825]"],
["[Bignum, 1073741825] gcd [Bignum, 1073741825] => ", "[Bignum, 1073741825]"]]
else
pp RbConfig::CONFIG
@@expected = nil
end
def test_results
values =
[
1, 2, 4, 5, 25,
-1, -2, -4, -5, -25,
@@biggest_positive_fixnum, - @@biggest_positive_fixnum,
@@biggest_negative_fixnum, - @@biggest_negative_fixnum,
@@smallest_positive_bignum, - @@smallest_positive_bignum,
@@smallest_negative_bignum, - @@smallest_negative_bignum,
]
result = [ ]
values.each do | x |
values.each do | y |
result <<
[ "#{xc(x)} gcd #{xc(y)} => ",
begin
xc(x.gcd(y))
rescue => err
err
end
]
end
end
if @@expected
if result != @@expected
@@expected.each_with_index do | x, i |
y = result[i]
assert_equal x, y
end
end
else
puts "@@expected = "
pp result
end
end
end