divideint.decTest 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. ------------------------------------------------------------------------
  2. -- divideint.decTest -- decimal integer division --
  3. -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
  4. ------------------------------------------------------------------------
  5. -- Please see the document "General Decimal Arithmetic Testcases" --
  6. -- at http://www2.hursley.ibm.com/decimal for the description of --
  7. -- these testcases. --
  8. -- --
  9. -- These testcases are experimental ('beta' versions), and they --
  10. -- may contain errors. They are offered on an as-is basis. In --
  11. -- particular, achieving the same results as the tests here is not --
  12. -- a guarantee that an implementation complies with any Standard --
  13. -- or specification. The tests are not exhaustive. --
  14. -- --
  15. -- Please send comments, suggestions, and corrections to the author: --
  16. -- Mike Cowlishaw, IBM Fellow --
  17. -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
  18. -- mfc@uk.ibm.com --
  19. ------------------------------------------------------------------------
  20. version: 2.59
  21. extended: 1
  22. precision: 9
  23. rounding: half_up
  24. maxExponent: 384
  25. minexponent: -383
  26. dvix001 divideint 1 1 -> 1
  27. dvix002 divideint 2 1 -> 2
  28. dvix003 divideint 1 2 -> 0
  29. dvix004 divideint 2 2 -> 1
  30. dvix005 divideint 0 1 -> 0
  31. dvix006 divideint 0 2 -> 0
  32. dvix007 divideint 1 3 -> 0
  33. dvix008 divideint 2 3 -> 0
  34. dvix009 divideint 3 3 -> 1
  35. dvix010 divideint 2.4 1 -> 2
  36. dvix011 divideint 2.4 -1 -> -2
  37. dvix012 divideint -2.4 1 -> -2
  38. dvix013 divideint -2.4 -1 -> 2
  39. dvix014 divideint 2.40 1 -> 2
  40. dvix015 divideint 2.400 1 -> 2
  41. dvix016 divideint 2.4 2 -> 1
  42. dvix017 divideint 2.400 2 -> 1
  43. dvix018 divideint 2. 2 -> 1
  44. dvix019 divideint 20 20 -> 1
  45. dvix020 divideint 187 187 -> 1
  46. dvix021 divideint 5 2 -> 2
  47. dvix022 divideint 5 2.0 -> 2
  48. dvix023 divideint 5 2.000 -> 2
  49. dvix024 divideint 5 0.200 -> 25
  50. dvix025 divideint 5 0.200 -> 25
  51. dvix030 divideint 1 2 -> 0
  52. dvix031 divideint 1 4 -> 0
  53. dvix032 divideint 1 8 -> 0
  54. dvix033 divideint 1 16 -> 0
  55. dvix034 divideint 1 32 -> 0
  56. dvix035 divideint 1 64 -> 0
  57. dvix040 divideint 1 -2 -> -0
  58. dvix041 divideint 1 -4 -> -0
  59. dvix042 divideint 1 -8 -> -0
  60. dvix043 divideint 1 -16 -> -0
  61. dvix044 divideint 1 -32 -> -0
  62. dvix045 divideint 1 -64 -> -0
  63. dvix050 divideint -1 2 -> -0
  64. dvix051 divideint -1 4 -> -0
  65. dvix052 divideint -1 8 -> -0
  66. dvix053 divideint -1 16 -> -0
  67. dvix054 divideint -1 32 -> -0
  68. dvix055 divideint -1 64 -> -0
  69. dvix060 divideint -1 -2 -> 0
  70. dvix061 divideint -1 -4 -> 0
  71. dvix062 divideint -1 -8 -> 0
  72. dvix063 divideint -1 -16 -> 0
  73. dvix064 divideint -1 -32 -> 0
  74. dvix065 divideint -1 -64 -> 0
  75. -- similar with powers of ten
  76. dvix160 divideint 1 1 -> 1
  77. dvix161 divideint 1 10 -> 0
  78. dvix162 divideint 1 100 -> 0
  79. dvix163 divideint 1 1000 -> 0
  80. dvix164 divideint 1 10000 -> 0
  81. dvix165 divideint 1 100000 -> 0
  82. dvix166 divideint 1 1000000 -> 0
  83. dvix167 divideint 1 10000000 -> 0
  84. dvix168 divideint 1 100000000 -> 0
  85. dvix170 divideint 1 -1 -> -1
  86. dvix171 divideint 1 -10 -> -0
  87. dvix172 divideint 1 -100 -> -0
  88. dvix173 divideint 1 -1000 -> -0
  89. dvix174 divideint 1 -10000 -> -0
  90. dvix175 divideint 1 -100000 -> -0
  91. dvix176 divideint 1 -1000000 -> -0
  92. dvix177 divideint 1 -10000000 -> -0
  93. dvix178 divideint 1 -100000000 -> -0
  94. dvix180 divideint -1 1 -> -1
  95. dvix181 divideint -1 10 -> -0
  96. dvix182 divideint -1 100 -> -0
  97. dvix183 divideint -1 1000 -> -0
  98. dvix184 divideint -1 10000 -> -0
  99. dvix185 divideint -1 100000 -> -0
  100. dvix186 divideint -1 1000000 -> -0
  101. dvix187 divideint -1 10000000 -> -0
  102. dvix188 divideint -1 100000000 -> -0
  103. dvix190 divideint -1 -1 -> 1
  104. dvix191 divideint -1 -10 -> 0
  105. dvix192 divideint -1 -100 -> 0
  106. dvix193 divideint -1 -1000 -> 0
  107. dvix194 divideint -1 -10000 -> 0
  108. dvix195 divideint -1 -100000 -> 0
  109. dvix196 divideint -1 -1000000 -> 0
  110. dvix197 divideint -1 -10000000 -> 0
  111. dvix198 divideint -1 -100000000 -> 0
  112. -- some long operand cases here
  113. dvix070 divideint 999999999 1 -> 999999999
  114. dvix071 divideint 999999999.4 1 -> 999999999
  115. dvix072 divideint 999999999.5 1 -> 999999999
  116. dvix073 divideint 999999999.9 1 -> 999999999
  117. dvix074 divideint 999999999.999 1 -> 999999999
  118. precision: 6
  119. dvix080 divideint 999999999 1 -> NaN Division_impossible
  120. dvix081 divideint 99999999 1 -> NaN Division_impossible
  121. dvix082 divideint 9999999 1 -> NaN Division_impossible
  122. dvix083 divideint 999999 1 -> 999999
  123. dvix084 divideint 99999 1 -> 99999
  124. dvix085 divideint 9999 1 -> 9999
  125. dvix086 divideint 999 1 -> 999
  126. dvix087 divideint 99 1 -> 99
  127. dvix088 divideint 9 1 -> 9
  128. precision: 9
  129. dvix090 divideint 0. 1 -> 0
  130. dvix091 divideint .0 1 -> 0
  131. dvix092 divideint 0.00 1 -> 0
  132. dvix093 divideint 0.00E+9 1 -> 0
  133. dvix094 divideint 0.0000E-50 1 -> 0
  134. dvix100 divideint 1 1 -> 1
  135. dvix101 divideint 1 2 -> 0
  136. dvix102 divideint 1 3 -> 0
  137. dvix103 divideint 1 4 -> 0
  138. dvix104 divideint 1 5 -> 0
  139. dvix105 divideint 1 6 -> 0
  140. dvix106 divideint 1 7 -> 0
  141. dvix107 divideint 1 8 -> 0
  142. dvix108 divideint 1 9 -> 0
  143. dvix109 divideint 1 10 -> 0
  144. dvix110 divideint 1 1 -> 1
  145. dvix111 divideint 2 1 -> 2
  146. dvix112 divideint 3 1 -> 3
  147. dvix113 divideint 4 1 -> 4
  148. dvix114 divideint 5 1 -> 5
  149. dvix115 divideint 6 1 -> 6
  150. dvix116 divideint 7 1 -> 7
  151. dvix117 divideint 8 1 -> 8
  152. dvix118 divideint 9 1 -> 9
  153. dvix119 divideint 10 1 -> 10
  154. -- from DiagBigDecimal
  155. dvix131 divideint 101.3 1 -> 101
  156. dvix132 divideint 101.0 1 -> 101
  157. dvix133 divideint 101.3 3 -> 33
  158. dvix134 divideint 101.0 3 -> 33
  159. dvix135 divideint 2.4 1 -> 2
  160. dvix136 divideint 2.400 1 -> 2
  161. dvix137 divideint 18 18 -> 1
  162. dvix138 divideint 1120 1000 -> 1
  163. dvix139 divideint 2.4 2 -> 1
  164. dvix140 divideint 2.400 2 -> 1
  165. dvix141 divideint 0.5 2.000 -> 0
  166. dvix142 divideint 8.005 7 -> 1
  167. dvix143 divideint 5 2 -> 2
  168. dvix144 divideint 0 2 -> 0
  169. dvix145 divideint 0.00 2 -> 0
  170. -- Others
  171. dvix150 divideint 12345 4.999 -> 2469
  172. dvix151 divideint 12345 4.99 -> 2473
  173. dvix152 divideint 12345 4.9 -> 2519
  174. dvix153 divideint 12345 5 -> 2469
  175. dvix154 divideint 12345 5.1 -> 2420
  176. dvix155 divideint 12345 5.01 -> 2464
  177. dvix156 divideint 12345 5.001 -> 2468
  178. dvix157 divideint 101 7.6 -> 13
  179. -- Various flavours of divideint by 0
  180. maxexponent: 999999999
  181. minexponent: -999999999
  182. dvix201 divideint 0 0 -> NaN Division_undefined
  183. dvix202 divideint 0.0E5 0 -> NaN Division_undefined
  184. dvix203 divideint 0.000 0 -> NaN Division_undefined
  185. dvix204 divideint 0.0001 0 -> Infinity Division_by_zero
  186. dvix205 divideint 0.01 0 -> Infinity Division_by_zero
  187. dvix206 divideint 0.1 0 -> Infinity Division_by_zero
  188. dvix207 divideint 1 0 -> Infinity Division_by_zero
  189. dvix208 divideint 1 0.0 -> Infinity Division_by_zero
  190. dvix209 divideint 10 0.0 -> Infinity Division_by_zero
  191. dvix210 divideint 1E+100 0.0 -> Infinity Division_by_zero
  192. dvix211 divideint 1E+1000 0 -> Infinity Division_by_zero
  193. dvix214 divideint -0.0001 0 -> -Infinity Division_by_zero
  194. dvix215 divideint -0.01 0 -> -Infinity Division_by_zero
  195. dvix216 divideint -0.1 0 -> -Infinity Division_by_zero
  196. dvix217 divideint -1 0 -> -Infinity Division_by_zero
  197. dvix218 divideint -1 0.0 -> -Infinity Division_by_zero
  198. dvix219 divideint -10 0.0 -> -Infinity Division_by_zero
  199. dvix220 divideint -1E+100 0.0 -> -Infinity Division_by_zero
  200. dvix221 divideint -1E+1000 0 -> -Infinity Division_by_zero
  201. -- test some cases that are close to exponent overflow
  202. maxexponent: 999999999
  203. minexponent: -999999999
  204. dvix270 divideint 1 1e999999999 -> 0
  205. dvix271 divideint 1 0.9e999999999 -> 0
  206. dvix272 divideint 1 0.99e999999999 -> 0
  207. dvix273 divideint 1 0.999999999e999999999 -> 0
  208. dvix274 divideint 9e999999999 1 -> NaN Division_impossible
  209. dvix275 divideint 9.9e999999999 1 -> NaN Division_impossible
  210. dvix276 divideint 9.99e999999999 1 -> NaN Division_impossible
  211. dvix277 divideint 9.99999999e999999999 1 -> NaN Division_impossible
  212. dvix280 divideint 0.1 9e-999999999 -> NaN Division_impossible
  213. dvix281 divideint 0.1 99e-999999999 -> NaN Division_impossible
  214. dvix282 divideint 0.1 999e-999999999 -> NaN Division_impossible
  215. dvix283 divideint 0.1 9e-999999998 -> NaN Division_impossible
  216. dvix284 divideint 0.1 99e-999999998 -> NaN Division_impossible
  217. dvix285 divideint 0.1 999e-999999998 -> NaN Division_impossible
  218. dvix286 divideint 0.1 999e-999999997 -> NaN Division_impossible
  219. dvix287 divideint 0.1 9999e-999999997 -> NaN Division_impossible
  220. dvix288 divideint 0.1 99999e-999999997 -> NaN Division_impossible
  221. -- GD edge cases: lhs smaller than rhs but more digits
  222. dvix301 divideint 0.9 2 -> 0
  223. dvix302 divideint 0.9 2.0 -> 0
  224. dvix303 divideint 0.9 2.1 -> 0
  225. dvix304 divideint 0.9 2.00 -> 0
  226. dvix305 divideint 0.9 2.01 -> 0
  227. dvix306 divideint 0.12 1 -> 0
  228. dvix307 divideint 0.12 1.0 -> 0
  229. dvix308 divideint 0.12 1.00 -> 0
  230. dvix309 divideint 0.12 1.0 -> 0
  231. dvix310 divideint 0.12 1.00 -> 0
  232. dvix311 divideint 0.12 2 -> 0
  233. dvix312 divideint 0.12 2.0 -> 0
  234. dvix313 divideint 0.12 2.1 -> 0
  235. dvix314 divideint 0.12 2.00 -> 0
  236. dvix315 divideint 0.12 2.01 -> 0
  237. -- overflow and underflow tests [from divide]
  238. maxexponent: 999999999
  239. minexponent: -999999999
  240. dvix330 divideint +1.23456789012345E-0 9E+999999999 -> 0
  241. dvix331 divideint 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
  242. dvix332 divideint +0.100 9E+999999999 -> 0
  243. dvix333 divideint 9E-999999999 +9.100 -> 0
  244. dvix335 divideint -1.23456789012345E-0 9E+999999999 -> -0
  245. dvix336 divideint 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
  246. dvix337 divideint -0.100 9E+999999999 -> -0
  247. dvix338 divideint 9E-999999999 -9.100 -> -0
  248. -- long operand checks
  249. maxexponent: 999
  250. minexponent: -999
  251. precision: 9
  252. dvix401 divideint 12345678000 100 -> 123456780
  253. dvix402 divideint 1 12345678000 -> 0
  254. dvix403 divideint 1234567800 10 -> 123456780
  255. dvix404 divideint 1 1234567800 -> 0
  256. dvix405 divideint 1234567890 10 -> 123456789
  257. dvix406 divideint 1 1234567890 -> 0
  258. dvix407 divideint 1234567891 10 -> 123456789
  259. dvix408 divideint 1 1234567891 -> 0
  260. dvix409 divideint 12345678901 100 -> 123456789
  261. dvix410 divideint 1 12345678901 -> 0
  262. dvix411 divideint 1234567896 10 -> 123456789
  263. dvix412 divideint 1 1234567896 -> 0
  264. dvix413 divideint 12345678948 100 -> 123456789
  265. dvix414 divideint 12345678949 100 -> 123456789
  266. dvix415 divideint 12345678950 100 -> 123456789
  267. dvix416 divideint 12345678951 100 -> 123456789
  268. dvix417 divideint 12345678999 100 -> 123456789
  269. precision: 15
  270. dvix441 divideint 12345678000 1 -> 12345678000
  271. dvix442 divideint 1 12345678000 -> 0
  272. dvix443 divideint 1234567800 1 -> 1234567800
  273. dvix444 divideint 1 1234567800 -> 0
  274. dvix445 divideint 1234567890 1 -> 1234567890
  275. dvix446 divideint 1 1234567890 -> 0
  276. dvix447 divideint 1234567891 1 -> 1234567891
  277. dvix448 divideint 1 1234567891 -> 0
  278. dvix449 divideint 12345678901 1 -> 12345678901
  279. dvix450 divideint 1 12345678901 -> 0
  280. dvix451 divideint 1234567896 1 -> 1234567896
  281. dvix452 divideint 1 1234567896 -> 0
  282. precision: 9
  283. rounding: half_up
  284. maxExponent: 999
  285. minexponent: -999
  286. -- more zeros, etc.
  287. dvix531 divideint 5.00 1E-3 -> 5000
  288. dvix532 divideint 00.00 0.000 -> NaN Division_undefined
  289. dvix533 divideint 00.00 0E-3 -> NaN Division_undefined
  290. dvix534 divideint 0 -0 -> NaN Division_undefined
  291. dvix535 divideint -0 0 -> NaN Division_undefined
  292. dvix536 divideint -0 -0 -> NaN Division_undefined
  293. dvix541 divideint 0 -1 -> -0
  294. dvix542 divideint -0 -1 -> 0
  295. dvix543 divideint 0 1 -> 0
  296. dvix544 divideint -0 1 -> -0
  297. dvix545 divideint -1 0 -> -Infinity Division_by_zero
  298. dvix546 divideint -1 -0 -> Infinity Division_by_zero
  299. dvix547 divideint 1 0 -> Infinity Division_by_zero
  300. dvix548 divideint 1 -0 -> -Infinity Division_by_zero
  301. dvix551 divideint 0.0 -1 -> -0
  302. dvix552 divideint -0.0 -1 -> 0
  303. dvix553 divideint 0.0 1 -> 0
  304. dvix554 divideint -0.0 1 -> -0
  305. dvix555 divideint -1.0 0 -> -Infinity Division_by_zero
  306. dvix556 divideint -1.0 -0 -> Infinity Division_by_zero
  307. dvix557 divideint 1.0 0 -> Infinity Division_by_zero
  308. dvix558 divideint 1.0 -0 -> -Infinity Division_by_zero
  309. dvix561 divideint 0 -1.0 -> -0
  310. dvix562 divideint -0 -1.0 -> 0
  311. dvix563 divideint 0 1.0 -> 0
  312. dvix564 divideint -0 1.0 -> -0
  313. dvix565 divideint -1 0.0 -> -Infinity Division_by_zero
  314. dvix566 divideint -1 -0.0 -> Infinity Division_by_zero
  315. dvix567 divideint 1 0.0 -> Infinity Division_by_zero
  316. dvix568 divideint 1 -0.0 -> -Infinity Division_by_zero
  317. dvix571 divideint 0.0 -1.0 -> -0
  318. dvix572 divideint -0.0 -1.0 -> 0
  319. dvix573 divideint 0.0 1.0 -> 0
  320. dvix574 divideint -0.0 1.0 -> -0
  321. dvix575 divideint -1.0 0.0 -> -Infinity Division_by_zero
  322. dvix576 divideint -1.0 -0.0 -> Infinity Division_by_zero
  323. dvix577 divideint 1.0 0.0 -> Infinity Division_by_zero
  324. dvix578 divideint 1.0 -0.0 -> -Infinity Division_by_zero
  325. -- Specials
  326. dvix580 divideint Inf -Inf -> NaN Invalid_operation
  327. dvix581 divideint Inf -1000 -> -Infinity
  328. dvix582 divideint Inf -1 -> -Infinity
  329. dvix583 divideint Inf -0 -> -Infinity
  330. dvix584 divideint Inf 0 -> Infinity
  331. dvix585 divideint Inf 1 -> Infinity
  332. dvix586 divideint Inf 1000 -> Infinity
  333. dvix587 divideint Inf Inf -> NaN Invalid_operation
  334. dvix588 divideint -1000 Inf -> -0
  335. dvix589 divideint -Inf Inf -> NaN Invalid_operation
  336. dvix590 divideint -1 Inf -> -0
  337. dvix591 divideint -0 Inf -> -0
  338. dvix592 divideint 0 Inf -> 0
  339. dvix593 divideint 1 Inf -> 0
  340. dvix594 divideint 1000 Inf -> 0
  341. dvix595 divideint Inf Inf -> NaN Invalid_operation
  342. dvix600 divideint -Inf -Inf -> NaN Invalid_operation
  343. dvix601 divideint -Inf -1000 -> Infinity
  344. dvix602 divideint -Inf -1 -> Infinity
  345. dvix603 divideint -Inf -0 -> Infinity
  346. dvix604 divideint -Inf 0 -> -Infinity
  347. dvix605 divideint -Inf 1 -> -Infinity
  348. dvix606 divideint -Inf 1000 -> -Infinity
  349. dvix607 divideint -Inf Inf -> NaN Invalid_operation
  350. dvix608 divideint -1000 Inf -> -0
  351. dvix609 divideint -Inf -Inf -> NaN Invalid_operation
  352. dvix610 divideint -1 -Inf -> 0
  353. dvix611 divideint -0 -Inf -> 0
  354. dvix612 divideint 0 -Inf -> -0
  355. dvix613 divideint 1 -Inf -> -0
  356. dvix614 divideint 1000 -Inf -> -0
  357. dvix615 divideint Inf -Inf -> NaN Invalid_operation
  358. dvix621 divideint NaN -Inf -> NaN
  359. dvix622 divideint NaN -1000 -> NaN
  360. dvix623 divideint NaN -1 -> NaN
  361. dvix624 divideint NaN -0 -> NaN
  362. dvix625 divideint NaN 0 -> NaN
  363. dvix626 divideint NaN 1 -> NaN
  364. dvix627 divideint NaN 1000 -> NaN
  365. dvix628 divideint NaN Inf -> NaN
  366. dvix629 divideint NaN NaN -> NaN
  367. dvix630 divideint -Inf NaN -> NaN
  368. dvix631 divideint -1000 NaN -> NaN
  369. dvix632 divideint -1 NaN -> NaN
  370. dvix633 divideint -0 NaN -> NaN
  371. dvix634 divideint 0 NaN -> NaN
  372. dvix635 divideint 1 NaN -> NaN
  373. dvix636 divideint 1000 NaN -> NaN
  374. dvix637 divideint Inf NaN -> NaN
  375. dvix641 divideint sNaN -Inf -> NaN Invalid_operation
  376. dvix642 divideint sNaN -1000 -> NaN Invalid_operation
  377. dvix643 divideint sNaN -1 -> NaN Invalid_operation
  378. dvix644 divideint sNaN -0 -> NaN Invalid_operation
  379. dvix645 divideint sNaN 0 -> NaN Invalid_operation
  380. dvix646 divideint sNaN 1 -> NaN Invalid_operation
  381. dvix647 divideint sNaN 1000 -> NaN Invalid_operation
  382. dvix648 divideint sNaN NaN -> NaN Invalid_operation
  383. dvix649 divideint sNaN sNaN -> NaN Invalid_operation
  384. dvix650 divideint NaN sNaN -> NaN Invalid_operation
  385. dvix651 divideint -Inf sNaN -> NaN Invalid_operation
  386. dvix652 divideint -1000 sNaN -> NaN Invalid_operation
  387. dvix653 divideint -1 sNaN -> NaN Invalid_operation
  388. dvix654 divideint -0 sNaN -> NaN Invalid_operation
  389. dvix655 divideint 0 sNaN -> NaN Invalid_operation
  390. dvix656 divideint 1 sNaN -> NaN Invalid_operation
  391. dvix657 divideint 1000 sNaN -> NaN Invalid_operation
  392. dvix658 divideint Inf sNaN -> NaN Invalid_operation
  393. dvix659 divideint NaN sNaN -> NaN Invalid_operation
  394. -- propagating NaNs
  395. dvix661 divideint NaN9 -Inf -> NaN9
  396. dvix662 divideint NaN8 1000 -> NaN8
  397. dvix663 divideint NaN7 Inf -> NaN7
  398. dvix664 divideint -NaN6 NaN5 -> -NaN6
  399. dvix665 divideint -Inf NaN4 -> NaN4
  400. dvix666 divideint -1000 NaN3 -> NaN3
  401. dvix667 divideint Inf -NaN2 -> -NaN2
  402. dvix671 divideint -sNaN99 -Inf -> -NaN99 Invalid_operation
  403. dvix672 divideint sNaN98 -1 -> NaN98 Invalid_operation
  404. dvix673 divideint sNaN97 NaN -> NaN97 Invalid_operation
  405. dvix674 divideint sNaN96 sNaN94 -> NaN96 Invalid_operation
  406. dvix675 divideint NaN95 sNaN93 -> NaN93 Invalid_operation
  407. dvix676 divideint -Inf sNaN92 -> NaN92 Invalid_operation
  408. dvix677 divideint 0 sNaN91 -> NaN91 Invalid_operation
  409. dvix678 divideint Inf -sNaN90 -> -NaN90 Invalid_operation
  410. dvix679 divideint NaN sNaN89 -> NaN89 Invalid_operation
  411. -- some long operand cases again
  412. precision: 8
  413. dvix710 divideint 100000001 1 -> NaN Division_impossible
  414. dvix711 divideint 100000000.4 1 -> NaN Division_impossible
  415. dvix712 divideint 100000000.5 1 -> NaN Division_impossible
  416. dvix713 divideint 100000000.9 1 -> NaN Division_impossible
  417. dvix714 divideint 100000000.999 1 -> NaN Division_impossible
  418. precision: 6
  419. dvix720 divideint 100000000 1 -> NaN Division_impossible
  420. dvix721 divideint 10000000 1 -> NaN Division_impossible
  421. dvix722 divideint 1000000 1 -> NaN Division_impossible
  422. dvix723 divideint 100000 1 -> 100000
  423. dvix724 divideint 10000 1 -> 10000
  424. dvix725 divideint 1000 1 -> 1000
  425. dvix726 divideint 100 1 -> 100
  426. dvix727 divideint 10 1 -> 10
  427. dvix728 divideint 1 1 -> 1
  428. dvix729 divideint 1 10 -> 0
  429. precision: 9
  430. maxexponent: 999999999
  431. minexponent: -999999999
  432. dvix732 divideint 1 0.99e999999999 -> 0
  433. dvix733 divideint 1 0.999999999e999999999 -> 0
  434. dvix734 divideint 9e999999999 1 -> NaN Division_impossible
  435. dvix735 divideint 9.9e999999999 1 -> NaN Division_impossible
  436. dvix736 divideint 9.99e999999999 1 -> NaN Division_impossible
  437. dvix737 divideint 9.99999999e999999999 1 -> NaN Division_impossible
  438. dvix740 divideint 0.1 9e-999999999 -> NaN Division_impossible
  439. dvix741 divideint 0.1 99e-999999999 -> NaN Division_impossible
  440. dvix742 divideint 0.1 999e-999999999 -> NaN Division_impossible
  441. dvix743 divideint 0.1 9e-999999998 -> NaN Division_impossible
  442. dvix744 divideint 0.1 99e-999999998 -> NaN Division_impossible
  443. dvix745 divideint 0.1 999e-999999998 -> NaN Division_impossible
  444. dvix746 divideint 0.1 999e-999999997 -> NaN Division_impossible
  445. dvix747 divideint 0.1 9999e-999999997 -> NaN Division_impossible
  446. dvix748 divideint 0.1 99999e-999999997 -> NaN Division_impossible
  447. -- Null tests
  448. dvix900 divideint 10 # -> NaN Invalid_operation
  449. dvix901 divideint # 10 -> NaN Invalid_operation