/source/ruby-enterprise-1.8.7-2011.01/source/test/rational/test_fixnum_gcd.rb

https://github.com/cparedes/omnibus · Ruby · 811 lines · 800 code · 9 blank · 2 comment · 7 complexity · 92fa8175b2f154a9c1d7b64425f71112 MD5 · raw file

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