Project

General

Profile

Feature #2561 ยป gcd_test.rb

64-bit test cases. - kstephens (Kurt Stephens), 01/22/2010 05:58 AM

 
1

    
2
require 'rational'
3
require 'pp'
4

    
5
require 'test/unit'
6
require 'rbconfig'
7

    
8
class GcdTest < Test::Unit::TestCase
9

    
10
  @@biggest_positive_fixnum = 1
11
  until (x = ((@@biggest_positive_fixnum << 1) + 1)).class == Bignum
12
    @@biggest_positive_fixnum = x
13
  end
14
  @@biggest_positive_fixnum = (@@biggest_positive_fixnum - 10)
15
  until (x = (@@biggest_positive_fixnum + 1)).class == Bignum
16
    @@biggest_positive_fixnum = x
17
  end
18
  @@smallest_positive_bignum = x
19
  
20
  @@biggest_negative_fixnum = -1
21
  until (x = (@@biggest_negative_fixnum << 1)).class == Bignum
22
    @@biggest_negative_fixnum = x
23
  end
24
  until (x = (@@biggest_negative_fixnum - 1)).class == Bignum
25
    @@biggest_negative_fixnum = x
26
  end
27
  @@smallest_negative_bignum = x
28
  
29
  def xc x
30
    [ x.class, x ].inspect
31
  end
32

    
33
case RbConfig::CONFIG['build_cpu']
34
when 'amd64', 'x86_64'
35
  # values generated by ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
36
@@expected = 
37
[["[Fixnum, 1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
38
 ["[Fixnum, 1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
39
 ["[Fixnum, 1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
40
 ["[Fixnum, 1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
41
 ["[Fixnum, 1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
42
 ["[Fixnum, 1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
43
 ["[Fixnum, 1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
44
 ["[Fixnum, 1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
45
 ["[Fixnum, 1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
46
 ["[Fixnum, 1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
47
 ["[Fixnum, 1] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
48
 ["[Fixnum, 1] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
49
 ["[Fixnum, 1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
50
 ["[Fixnum, 1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
51
 ["[Fixnum, 1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
52
 ["[Fixnum, 1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
53
 ["[Fixnum, 1] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
54
 ["[Fixnum, 1] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
55
 ["[Fixnum, 2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
56
 ["[Fixnum, 2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
57
 ["[Fixnum, 2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
58
 ["[Fixnum, 2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
59
 ["[Fixnum, 2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
60
 ["[Fixnum, 2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
61
 ["[Fixnum, 2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
62
 ["[Fixnum, 2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
63
 ["[Fixnum, 2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
64
 ["[Fixnum, 2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
65
 ["[Fixnum, 2] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
66
 ["[Fixnum, 2] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
67
 ["[Fixnum, 2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
68
 ["[Fixnum, 2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
69
 ["[Fixnum, 2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
70
 ["[Fixnum, 2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
71
 ["[Fixnum, 2] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
72
 ["[Fixnum, 2] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
73
 ["[Fixnum, 4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
74
 ["[Fixnum, 4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
75
 ["[Fixnum, 4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
76
 ["[Fixnum, 4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
77
 ["[Fixnum, 4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
78
 ["[Fixnum, 4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
79
 ["[Fixnum, 4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
80
 ["[Fixnum, 4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
81
 ["[Fixnum, 4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
82
 ["[Fixnum, 4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
83
 ["[Fixnum, 4] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
84
 ["[Fixnum, 4] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
85
 ["[Fixnum, 4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
86
 ["[Fixnum, 4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
87
 ["[Fixnum, 4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
88
 ["[Fixnum, 4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
89
 ["[Fixnum, 4] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
90
 ["[Fixnum, 4] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
91
 ["[Fixnum, 5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
92
 ["[Fixnum, 5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
93
 ["[Fixnum, 5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
94
 ["[Fixnum, 5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
95
 ["[Fixnum, 5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
96
 ["[Fixnum, 5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
97
 ["[Fixnum, 5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
98
 ["[Fixnum, 5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
99
 ["[Fixnum, 5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
100
 ["[Fixnum, 5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
101
 ["[Fixnum, 5] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
102
 ["[Fixnum, 5] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
103
 ["[Fixnum, 5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
104
 ["[Fixnum, 5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
105
 ["[Fixnum, 5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
106
 ["[Fixnum, 5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
107
 ["[Fixnum, 5] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
108
 ["[Fixnum, 5] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
109
 ["[Fixnum, 25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
110
 ["[Fixnum, 25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
111
 ["[Fixnum, 25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
112
 ["[Fixnum, 25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
113
 ["[Fixnum, 25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
114
 ["[Fixnum, 25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
115
 ["[Fixnum, 25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
116
 ["[Fixnum, 25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
117
 ["[Fixnum, 25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
118
 ["[Fixnum, 25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
119
 ["[Fixnum, 25] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
120
 ["[Fixnum, 25] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
121
 ["[Fixnum, 25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
122
 ["[Fixnum, 25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
123
 ["[Fixnum, 25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
124
 ["[Fixnum, 25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
125
 ["[Fixnum, 25] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
126
 ["[Fixnum, 25] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
127
 ["[Fixnum, -1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
128
 ["[Fixnum, -1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
129
 ["[Fixnum, -1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
130
 ["[Fixnum, -1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
131
 ["[Fixnum, -1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
132
 ["[Fixnum, -1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
133
 ["[Fixnum, -1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
134
 ["[Fixnum, -1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
135
 ["[Fixnum, -1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
136
 ["[Fixnum, -1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
137
 ["[Fixnum, -1] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
138
 ["[Fixnum, -1] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
139
 ["[Fixnum, -1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
140
 ["[Fixnum, -1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
141
 ["[Fixnum, -1] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
142
 ["[Fixnum, -1] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
143
 ["[Fixnum, -1] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
144
 ["[Fixnum, -1] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
145
 ["[Fixnum, -2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
146
 ["[Fixnum, -2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
147
 ["[Fixnum, -2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
148
 ["[Fixnum, -2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
149
 ["[Fixnum, -2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
150
 ["[Fixnum, -2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
151
 ["[Fixnum, -2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
152
 ["[Fixnum, -2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
153
 ["[Fixnum, -2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
154
 ["[Fixnum, -2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
155
 ["[Fixnum, -2] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
156
 ["[Fixnum, -2] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
157
 ["[Fixnum, -2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
158
 ["[Fixnum, -2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
159
 ["[Fixnum, -2] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 2]"],
160
 ["[Fixnum, -2] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 2]"],
161
 ["[Fixnum, -2] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
162
 ["[Fixnum, -2] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
163
 ["[Fixnum, -4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
164
 ["[Fixnum, -4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
165
 ["[Fixnum, -4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
166
 ["[Fixnum, -4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
167
 ["[Fixnum, -4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
168
 ["[Fixnum, -4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
169
 ["[Fixnum, -4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
170
 ["[Fixnum, -4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
171
 ["[Fixnum, -4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
172
 ["[Fixnum, -4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
173
 ["[Fixnum, -4] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
174
 ["[Fixnum, -4] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
175
 ["[Fixnum, -4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
176
 ["[Fixnum, -4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
177
 ["[Fixnum, -4] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 4]"],
178
 ["[Fixnum, -4] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 4]"],
179
 ["[Fixnum, -4] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 1]"],
180
 ["[Fixnum, -4] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 1]"],
181
 ["[Fixnum, -5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
182
 ["[Fixnum, -5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
183
 ["[Fixnum, -5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
184
 ["[Fixnum, -5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
185
 ["[Fixnum, -5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
186
 ["[Fixnum, -5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
187
 ["[Fixnum, -5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
188
 ["[Fixnum, -5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
189
 ["[Fixnum, -5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
190
 ["[Fixnum, -5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
191
 ["[Fixnum, -5] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
192
 ["[Fixnum, -5] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
193
 ["[Fixnum, -5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
194
 ["[Fixnum, -5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
195
 ["[Fixnum, -5] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
196
 ["[Fixnum, -5] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
197
 ["[Fixnum, -5] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
198
 ["[Fixnum, -5] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
199
 ["[Fixnum, -25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
200
 ["[Fixnum, -25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
201
 ["[Fixnum, -25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
202
 ["[Fixnum, -25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
203
 ["[Fixnum, -25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
204
 ["[Fixnum, -25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
205
 ["[Fixnum, -25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
206
 ["[Fixnum, -25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
207
 ["[Fixnum, -25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
208
 ["[Fixnum, -25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
209
 ["[Fixnum, -25] gcd [Fixnum, 4611686018427387903] => ", "[Fixnum, 1]"],
210
 ["[Fixnum, -25] gcd [Fixnum, -4611686018427387903] => ", "[Fixnum, 1]"],
211
 ["[Fixnum, -25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
212
 ["[Fixnum, -25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
213
 ["[Fixnum, -25] gcd [Bignum, 4611686018427387904] => ", "[Fixnum, 1]"],
214
 ["[Fixnum, -25] gcd [Fixnum, -4611686018427387904] => ", "[Fixnum, 1]"],
215
 ["[Fixnum, -25] gcd [Bignum, -4611686018427387905] => ", "[Fixnum, 5]"],
216
 ["[Fixnum, -25] gcd [Bignum, 4611686018427387905] => ", "[Fixnum, 5]"],
217
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
218
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
219
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
220
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
221
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
222
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
223
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
224
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
225
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
226
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
227
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, 4611686018427387903] => ",
228
  "[Fixnum, 4611686018427387903]"],
229
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387903] => ",
230
  "[Fixnum, 4611686018427387903]"],
231
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
232
  "[Fixnum, 1]"],
233
 ["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
234
  "[Fixnum, 1]"],
235
 ["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
236
  "[Fixnum, 1]"],
237
 ["[Fixnum, 4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
238
  "[Fixnum, 1]"],
239
 ["[Fixnum, 4611686018427387903] gcd [Bignum, -4611686018427387905] => ",
240
  "[Fixnum, 1]"],
241
 ["[Fixnum, 4611686018427387903] gcd [Bignum, 4611686018427387905] => ",
242
  "[Fixnum, 1]"],
243
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
244
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
245
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
246
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
247
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
248
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
249
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
250
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
251
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
252
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
253
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, 4611686018427387903] => ",
254
  "[Fixnum, 4611686018427387903]"],
255
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387903] => ",
256
  "[Fixnum, 4611686018427387903]"],
257
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
258
  "[Fixnum, 1]"],
259
 ["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
260
  "[Fixnum, 1]"],
261
 ["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387904] => ",
262
  "[Fixnum, 1]"],
263
 ["[Fixnum, -4611686018427387903] gcd [Fixnum, -4611686018427387904] => ",
264
  "[Fixnum, 1]"],
265
 ["[Fixnum, -4611686018427387903] gcd [Bignum, -4611686018427387905] => ",
266
  "[Fixnum, 1]"],
267
 ["[Fixnum, -4611686018427387903] gcd [Bignum, 4611686018427387905] => ",
268
  "[Fixnum, 1]"],
269
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
270
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
271
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
272
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
273
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
274
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
275
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
276
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
277
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
278
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
279
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
280
  "[Fixnum, 1]"],
281
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
282
  "[Fixnum, 1]"],
283
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
284
  "[Bignum, 4611686018427387904]"],
285
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
286
  "[Bignum, 4611686018427387904]"],
287
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
288
  "[Bignum, 4611686018427387904]"],
289
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
290
  "[Bignum, 4611686018427387904]"],
291
 ["[Fixnum, -4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
292
  "[Fixnum, 1]"],
293
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
294
  "[Fixnum, 1]"],
295
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
296
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
297
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
298
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
299
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
300
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
301
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
302
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
303
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
304
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
305
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
306
  "[Fixnum, 1]"],
307
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
308
  "[Fixnum, 1]"],
309
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
310
  "[Bignum, 4611686018427387904]"],
311
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
312
  "[Bignum, 4611686018427387904]"],
313
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
314
  "[Bignum, 4611686018427387904]"],
315
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
316
  "[Bignum, 4611686018427387904]"],
317
 ["[Bignum, 4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
318
  "[Fixnum, 1]"],
319
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
320
  "[Fixnum, 1]"],
321
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
322
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
323
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
324
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
325
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
326
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
327
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
328
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
329
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
330
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
331
 ["[Bignum, 4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
332
  "[Fixnum, 1]"],
333
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
334
  "[Fixnum, 1]"],
335
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
336
  "[Bignum, 4611686018427387904]"],
337
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
338
  "[Bignum, 4611686018427387904]"],
339
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
340
  "[Bignum, 4611686018427387904]"],
341
 ["[Bignum, 4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
342
  "[Bignum, 4611686018427387904]"],
343
 ["[Bignum, 4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
344
  "[Fixnum, 1]"],
345
 ["[Bignum, 4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
346
  "[Fixnum, 1]"],
347
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
348
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
349
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
350
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
351
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
352
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
353
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
354
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
355
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
356
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
357
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, 4611686018427387903] => ",
358
  "[Fixnum, 1]"],
359
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387903] => ",
360
  "[Fixnum, 1]"],
361
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
362
  "[Bignum, 4611686018427387904]"],
363
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
364
  "[Bignum, 4611686018427387904]"],
365
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387904] => ",
366
  "[Bignum, 4611686018427387904]"],
367
 ["[Fixnum, -4611686018427387904] gcd [Fixnum, -4611686018427387904] => ",
368
  "[Bignum, 4611686018427387904]"],
369
 ["[Fixnum, -4611686018427387904] gcd [Bignum, -4611686018427387905] => ",
370
  "[Fixnum, 1]"],
371
 ["[Fixnum, -4611686018427387904] gcd [Bignum, 4611686018427387905] => ",
372
  "[Fixnum, 1]"],
373
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
374
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
375
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
376
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
377
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
378
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
379
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
380
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
381
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
382
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
383
 ["[Bignum, -4611686018427387905] gcd [Fixnum, 4611686018427387903] => ",
384
  "[Fixnum, 1]"],
385
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387903] => ",
386
  "[Fixnum, 1]"],
387
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
388
  "[Fixnum, 1]"],
389
 ["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
390
  "[Fixnum, 1]"],
391
 ["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
392
  "[Fixnum, 1]"],
393
 ["[Bignum, -4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
394
  "[Fixnum, 1]"],
395
 ["[Bignum, -4611686018427387905] gcd [Bignum, -4611686018427387905] => ",
396
  "[Bignum, 4611686018427387905]"],
397
 ["[Bignum, -4611686018427387905] gcd [Bignum, 4611686018427387905] => ",
398
  "[Bignum, 4611686018427387905]"],
399
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
400
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
401
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
402
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
403
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
404
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
405
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
406
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
407
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
408
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
409
 ["[Bignum, 4611686018427387905] gcd [Fixnum, 4611686018427387903] => ",
410
  "[Fixnum, 1]"],
411
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387903] => ",
412
  "[Fixnum, 1]"],
413
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
414
  "[Fixnum, 1]"],
415
 ["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
416
  "[Fixnum, 1]"],
417
 ["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387904] => ",
418
  "[Fixnum, 1]"],
419
 ["[Bignum, 4611686018427387905] gcd [Fixnum, -4611686018427387904] => ",
420
  "[Fixnum, 1]"],
421
 ["[Bignum, 4611686018427387905] gcd [Bignum, -4611686018427387905] => ",
422
  "[Bignum, 4611686018427387905]"],
423
 ["[Bignum, 4611686018427387905] gcd [Bignum, 4611686018427387905] => ",
424
  "[Bignum, 4611686018427387905]"]]
425
when 'i686', 'i386'
426
  # values generated by ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
427
@@expected = 
428
[["[Fixnum, 1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
429
 ["[Fixnum, 1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
430
 ["[Fixnum, 1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
431
 ["[Fixnum, 1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
432
 ["[Fixnum, 1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
433
 ["[Fixnum, 1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
434
 ["[Fixnum, 1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
435
 ["[Fixnum, 1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
436
 ["[Fixnum, 1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
437
 ["[Fixnum, 1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
438
 ["[Fixnum, 1] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
439
 ["[Fixnum, 1] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
440
 ["[Fixnum, 1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
441
 ["[Fixnum, 1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
442
 ["[Fixnum, 1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
443
 ["[Fixnum, 1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
444
 ["[Fixnum, 1] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
445
 ["[Fixnum, 1] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
446
 ["[Fixnum, 2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
447
 ["[Fixnum, 2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
448
 ["[Fixnum, 2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
449
 ["[Fixnum, 2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
450
 ["[Fixnum, 2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
451
 ["[Fixnum, 2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
452
 ["[Fixnum, 2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
453
 ["[Fixnum, 2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
454
 ["[Fixnum, 2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
455
 ["[Fixnum, 2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
456
 ["[Fixnum, 2] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
457
 ["[Fixnum, 2] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
458
 ["[Fixnum, 2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
459
 ["[Fixnum, 2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
460
 ["[Fixnum, 2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
461
 ["[Fixnum, 2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
462
 ["[Fixnum, 2] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
463
 ["[Fixnum, 2] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
464
 ["[Fixnum, 4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
465
 ["[Fixnum, 4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
466
 ["[Fixnum, 4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
467
 ["[Fixnum, 4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
468
 ["[Fixnum, 4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
469
 ["[Fixnum, 4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
470
 ["[Fixnum, 4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
471
 ["[Fixnum, 4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
472
 ["[Fixnum, 4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
473
 ["[Fixnum, 4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
474
 ["[Fixnum, 4] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
475
 ["[Fixnum, 4] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
476
 ["[Fixnum, 4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
477
 ["[Fixnum, 4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
478
 ["[Fixnum, 4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
479
 ["[Fixnum, 4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
480
 ["[Fixnum, 4] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
481
 ["[Fixnum, 4] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
482
 ["[Fixnum, 5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
483
 ["[Fixnum, 5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
484
 ["[Fixnum, 5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
485
 ["[Fixnum, 5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
486
 ["[Fixnum, 5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
487
 ["[Fixnum, 5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
488
 ["[Fixnum, 5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
489
 ["[Fixnum, 5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
490
 ["[Fixnum, 5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
491
 ["[Fixnum, 5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
492
 ["[Fixnum, 5] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
493
 ["[Fixnum, 5] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
494
 ["[Fixnum, 5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
495
 ["[Fixnum, 5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
496
 ["[Fixnum, 5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
497
 ["[Fixnum, 5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
498
 ["[Fixnum, 5] gcd [Bignum, -1073741825] => ", "[Fixnum, 5]"],
499
 ["[Fixnum, 5] gcd [Bignum, 1073741825] => ", "[Fixnum, 5]"],
500
 ["[Fixnum, 25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
501
 ["[Fixnum, 25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
502
 ["[Fixnum, 25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
503
 ["[Fixnum, 25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
504
 ["[Fixnum, 25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
505
 ["[Fixnum, 25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
506
 ["[Fixnum, 25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
507
 ["[Fixnum, 25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
508
 ["[Fixnum, 25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
509
 ["[Fixnum, 25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
510
 ["[Fixnum, 25] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
511
 ["[Fixnum, 25] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
512
 ["[Fixnum, 25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
513
 ["[Fixnum, 25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
514
 ["[Fixnum, 25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
515
 ["[Fixnum, 25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
516
 ["[Fixnum, 25] gcd [Bignum, -1073741825] => ", "[Fixnum, 25]"],
517
 ["[Fixnum, 25] gcd [Bignum, 1073741825] => ", "[Fixnum, 25]"],
518
 ["[Fixnum, -1] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
519
 ["[Fixnum, -1] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
520
 ["[Fixnum, -1] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
521
 ["[Fixnum, -1] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
522
 ["[Fixnum, -1] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
523
 ["[Fixnum, -1] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
524
 ["[Fixnum, -1] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
525
 ["[Fixnum, -1] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
526
 ["[Fixnum, -1] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
527
 ["[Fixnum, -1] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
528
 ["[Fixnum, -1] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
529
 ["[Fixnum, -1] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
530
 ["[Fixnum, -1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
531
 ["[Fixnum, -1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
532
 ["[Fixnum, -1] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
533
 ["[Fixnum, -1] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
534
 ["[Fixnum, -1] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
535
 ["[Fixnum, -1] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
536
 ["[Fixnum, -2] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
537
 ["[Fixnum, -2] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
538
 ["[Fixnum, -2] gcd [Fixnum, 4] => ", "[Fixnum, 2]"],
539
 ["[Fixnum, -2] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
540
 ["[Fixnum, -2] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
541
 ["[Fixnum, -2] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
542
 ["[Fixnum, -2] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
543
 ["[Fixnum, -2] gcd [Fixnum, -4] => ", "[Fixnum, 2]"],
544
 ["[Fixnum, -2] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
545
 ["[Fixnum, -2] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
546
 ["[Fixnum, -2] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
547
 ["[Fixnum, -2] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
548
 ["[Fixnum, -2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
549
 ["[Fixnum, -2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
550
 ["[Fixnum, -2] gcd [Bignum, 1073741824] => ", "[Fixnum, 2]"],
551
 ["[Fixnum, -2] gcd [Fixnum, -1073741824] => ", "[Fixnum, 2]"],
552
 ["[Fixnum, -2] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
553
 ["[Fixnum, -2] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
554
 ["[Fixnum, -4] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
555
 ["[Fixnum, -4] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
556
 ["[Fixnum, -4] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
557
 ["[Fixnum, -4] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
558
 ["[Fixnum, -4] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
559
 ["[Fixnum, -4] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
560
 ["[Fixnum, -4] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
561
 ["[Fixnum, -4] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
562
 ["[Fixnum, -4] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
563
 ["[Fixnum, -4] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
564
 ["[Fixnum, -4] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
565
 ["[Fixnum, -4] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
566
 ["[Fixnum, -4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
567
 ["[Fixnum, -4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
568
 ["[Fixnum, -4] gcd [Bignum, 1073741824] => ", "[Fixnum, 4]"],
569
 ["[Fixnum, -4] gcd [Fixnum, -1073741824] => ", "[Fixnum, 4]"],
570
 ["[Fixnum, -4] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
571
 ["[Fixnum, -4] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
572
 ["[Fixnum, -5] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
573
 ["[Fixnum, -5] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
574
 ["[Fixnum, -5] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
575
 ["[Fixnum, -5] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
576
 ["[Fixnum, -5] gcd [Fixnum, 25] => ", "[Fixnum, 5]"],
577
 ["[Fixnum, -5] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
578
 ["[Fixnum, -5] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
579
 ["[Fixnum, -5] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
580
 ["[Fixnum, -5] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
581
 ["[Fixnum, -5] gcd [Fixnum, -25] => ", "[Fixnum, 5]"],
582
 ["[Fixnum, -5] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
583
 ["[Fixnum, -5] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
584
 ["[Fixnum, -5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
585
 ["[Fixnum, -5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
586
 ["[Fixnum, -5] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
587
 ["[Fixnum, -5] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
588
 ["[Fixnum, -5] gcd [Bignum, -1073741825] => ", "[Fixnum, 5]"],
589
 ["[Fixnum, -5] gcd [Bignum, 1073741825] => ", "[Fixnum, 5]"],
590
 ["[Fixnum, -25] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
591
 ["[Fixnum, -25] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
592
 ["[Fixnum, -25] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
593
 ["[Fixnum, -25] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
594
 ["[Fixnum, -25] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
595
 ["[Fixnum, -25] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
596
 ["[Fixnum, -25] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
597
 ["[Fixnum, -25] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
598
 ["[Fixnum, -25] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
599
 ["[Fixnum, -25] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
600
 ["[Fixnum, -25] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
601
 ["[Fixnum, -25] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
602
 ["[Fixnum, -25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
603
 ["[Fixnum, -25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
604
 ["[Fixnum, -25] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
605
 ["[Fixnum, -25] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
606
 ["[Fixnum, -25] gcd [Bignum, -1073741825] => ", "[Fixnum, 25]"],
607
 ["[Fixnum, -25] gcd [Bignum, 1073741825] => ", "[Fixnum, 25]"],
608
 ["[Fixnum, 1073741823] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
609
 ["[Fixnum, 1073741823] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
610
 ["[Fixnum, 1073741823] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
611
 ["[Fixnum, 1073741823] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
612
 ["[Fixnum, 1073741823] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
613
 ["[Fixnum, 1073741823] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
614
 ["[Fixnum, 1073741823] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
615
 ["[Fixnum, 1073741823] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
616
 ["[Fixnum, 1073741823] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
617
 ["[Fixnum, 1073741823] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
618
 ["[Fixnum, 1073741823] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1073741823]"],
619
 ["[Fixnum, 1073741823] gcd [Fixnum, -1073741823] => ",
620
  "[Fixnum, 1073741823]"],
621
 ["[Fixnum, 1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
622
 ["[Fixnum, 1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
623
 ["[Fixnum, 1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
624
 ["[Fixnum, 1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
625
 ["[Fixnum, 1073741823] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
626
 ["[Fixnum, 1073741823] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
627
 ["[Fixnum, -1073741823] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
628
 ["[Fixnum, -1073741823] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
629
 ["[Fixnum, -1073741823] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
630
 ["[Fixnum, -1073741823] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
631
 ["[Fixnum, -1073741823] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
632
 ["[Fixnum, -1073741823] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
633
 ["[Fixnum, -1073741823] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
634
 ["[Fixnum, -1073741823] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
635
 ["[Fixnum, -1073741823] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
636
 ["[Fixnum, -1073741823] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
637
 ["[Fixnum, -1073741823] gcd [Fixnum, 1073741823] => ",
638
  "[Fixnum, 1073741823]"],
639
 ["[Fixnum, -1073741823] gcd [Fixnum, -1073741823] => ",
640
  "[Fixnum, 1073741823]"],
641
 ["[Fixnum, -1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
642
 ["[Fixnum, -1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
643
 ["[Fixnum, -1073741823] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
644
 ["[Fixnum, -1073741823] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
645
 ["[Fixnum, -1073741823] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
646
 ["[Fixnum, -1073741823] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
647
 ["[Fixnum, -1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
648
 ["[Fixnum, -1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
649
 ["[Fixnum, -1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
650
 ["[Fixnum, -1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
651
 ["[Fixnum, -1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
652
 ["[Fixnum, -1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
653
 ["[Fixnum, -1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
654
 ["[Fixnum, -1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
655
 ["[Fixnum, -1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
656
 ["[Fixnum, -1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
657
 ["[Fixnum, -1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
658
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
659
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
660
  "[Bignum, 1073741824]"],
661
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
662
  "[Bignum, 1073741824]"],
663
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
664
  "[Bignum, 1073741824]"],
665
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
666
  "[Bignum, 1073741824]"],
667
 ["[Fixnum, -1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
668
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
669
 ["[Bignum, 1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
670
 ["[Bignum, 1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
671
 ["[Bignum, 1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
672
 ["[Bignum, 1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
673
 ["[Bignum, 1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
674
 ["[Bignum, 1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
675
 ["[Bignum, 1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
676
 ["[Bignum, 1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
677
 ["[Bignum, 1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
678
 ["[Bignum, 1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
679
 ["[Bignum, 1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
680
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
681
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
682
  "[Bignum, 1073741824]"],
683
 ["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
684
 ["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
685
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
686
  "[Bignum, 1073741824]"],
687
 ["[Bignum, 1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
688
 ["[Bignum, 1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
689
 ["[Bignum, 1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
690
 ["[Bignum, 1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
691
 ["[Bignum, 1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
692
 ["[Bignum, 1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
693
 ["[Bignum, 1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
694
 ["[Bignum, 1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
695
 ["[Bignum, 1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
696
 ["[Bignum, 1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
697
 ["[Bignum, 1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
698
 ["[Bignum, 1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
699
 ["[Bignum, 1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
700
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
701
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
702
  "[Bignum, 1073741824]"],
703
 ["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
704
 ["[Bignum, 1073741824] gcd [Bignum, 1073741824] => ", "[Bignum, 1073741824]"],
705
 ["[Bignum, 1073741824] gcd [Fixnum, -1073741824] => ",
706
  "[Bignum, 1073741824]"],
707
 ["[Bignum, 1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
708
 ["[Bignum, 1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
709
 ["[Fixnum, -1073741824] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
710
 ["[Fixnum, -1073741824] gcd [Fixnum, 2] => ", "[Fixnum, 2]"],
711
 ["[Fixnum, -1073741824] gcd [Fixnum, 4] => ", "[Fixnum, 4]"],
712
 ["[Fixnum, -1073741824] gcd [Fixnum, 5] => ", "[Fixnum, 1]"],
713
 ["[Fixnum, -1073741824] gcd [Fixnum, 25] => ", "[Fixnum, 1]"],
714
 ["[Fixnum, -1073741824] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
715
 ["[Fixnum, -1073741824] gcd [Fixnum, -2] => ", "[Fixnum, 2]"],
716
 ["[Fixnum, -1073741824] gcd [Fixnum, -4] => ", "[Fixnum, 4]"],
717
 ["[Fixnum, -1073741824] gcd [Fixnum, -5] => ", "[Fixnum, 1]"],
718
 ["[Fixnum, -1073741824] gcd [Fixnum, -25] => ", "[Fixnum, 1]"],
719
 ["[Fixnum, -1073741824] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
720
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
721
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
722
  "[Bignum, 1073741824]"],
723
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
724
  "[Bignum, 1073741824]"],
725
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741824] => ",
726
  "[Bignum, 1073741824]"],
727
 ["[Fixnum, -1073741824] gcd [Fixnum, -1073741824] => ",
728
  "[Bignum, 1073741824]"],
729
 ["[Fixnum, -1073741824] gcd [Bignum, -1073741825] => ", "[Fixnum, 1]"],
730
 ["[Fixnum, -1073741824] gcd [Bignum, 1073741825] => ", "[Fixnum, 1]"],
731
 ["[Bignum, -1073741825] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
732
 ["[Bignum, -1073741825] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
733
 ["[Bignum, -1073741825] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
734
 ["[Bignum, -1073741825] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
735
 ["[Bignum, -1073741825] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
736
 ["[Bignum, -1073741825] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
737
 ["[Bignum, -1073741825] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
738
 ["[Bignum, -1073741825] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
739
 ["[Bignum, -1073741825] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
740
 ["[Bignum, -1073741825] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
741
 ["[Bignum, -1073741825] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
742
 ["[Bignum, -1073741825] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
743
 ["[Bignum, -1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
744
 ["[Bignum, -1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
745
 ["[Bignum, -1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
746
 ["[Bignum, -1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
747
 ["[Bignum, -1073741825] gcd [Bignum, -1073741825] => ",
748
  "[Bignum, 1073741825]"],
749
 ["[Bignum, -1073741825] gcd [Bignum, 1073741825] => ",
750
  "[Bignum, 1073741825]"],
751
 ["[Bignum, 1073741825] gcd [Fixnum, 1] => ", "[Fixnum, 1]"],
752
 ["[Bignum, 1073741825] gcd [Fixnum, 2] => ", "[Fixnum, 1]"],
753
 ["[Bignum, 1073741825] gcd [Fixnum, 4] => ", "[Fixnum, 1]"],
754
 ["[Bignum, 1073741825] gcd [Fixnum, 5] => ", "[Fixnum, 5]"],
755
 ["[Bignum, 1073741825] gcd [Fixnum, 25] => ", "[Fixnum, 25]"],
756
 ["[Bignum, 1073741825] gcd [Fixnum, -1] => ", "[Fixnum, 1]"],
757
 ["[Bignum, 1073741825] gcd [Fixnum, -2] => ", "[Fixnum, 1]"],
758
 ["[Bignum, 1073741825] gcd [Fixnum, -4] => ", "[Fixnum, 1]"],
759
 ["[Bignum, 1073741825] gcd [Fixnum, -5] => ", "[Fixnum, 5]"],
760
 ["[Bignum, 1073741825] gcd [Fixnum, -25] => ", "[Fixnum, 25]"],
761
 ["[Bignum, 1073741825] gcd [Fixnum, 1073741823] => ", "[Fixnum, 1]"],
762
 ["[Bignum, 1073741825] gcd [Fixnum, -1073741823] => ", "[Fixnum, 1]"],
763
 ["[Bignum, 1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
764
 ["[Bignum, 1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
765
 ["[Bignum, 1073741825] gcd [Bignum, 1073741824] => ", "[Fixnum, 1]"],
766
 ["[Bignum, 1073741825] gcd [Fixnum, -1073741824] => ", "[Fixnum, 1]"],
767
 ["[Bignum, 1073741825] gcd [Bignum, -1073741825] => ",
768
  "[Bignum, 1073741825]"],
769
 ["[Bignum, 1073741825] gcd [Bignum, 1073741825] => ", "[Bignum, 1073741825]"]]
770
else
771
  pp RbConfig::CONFIG
772
  @@expected = nil
773
end
774

    
775
  def test_results
776
    values = 
777
      [
778
       1, 2, 4, 5, 25,
779
       -1, -2, -4, -5, -25,
780
       @@biggest_positive_fixnum, - @@biggest_positive_fixnum,
781
       @@biggest_negative_fixnum, - @@biggest_negative_fixnum,
782
       @@smallest_positive_bignum, - @@smallest_positive_bignum,
783
       @@smallest_negative_bignum, - @@smallest_negative_bignum,
784
      ]
785

    
786
    result = [ ]
787
    values.each do | x |
788
      values.each do | y |
789
        result <<
790
          [ "#{xc(x)} gcd #{xc(y)} => ", 
791
            begin
792
              xc(x.gcd(y))
793
            rescue => err
794
              err
795
            end
796
          ]
797
      end
798
    end
799
    
800
    if @@expected 
801
      if result != @@expected
802
        @@expected.each_with_index do | x, i |
803
          y = result[i]
804
          assert_equal x, y
805
        end
806
      end
807
    else
808
      puts "@@expected = "
809
      pp result
810
    end
811
  end
812
end
813

    
814