gmp_div_qr.phpt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. --TEST--
  2. gmp_div_qr() tests
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. var_dump(gmp_div_qr(0,1));
  8. try {
  9. var_dump(gmp_div_qr(1,0));
  10. } catch (\DivisionByZeroError $e) {
  11. echo $e->getMessage() . \PHP_EOL;
  12. }
  13. try {
  14. var_dump(gmp_div_qr(gmp_init(1), gmp_init(0)));
  15. } catch (\DivisionByZeroError $e) {
  16. echo $e->getMessage() . \PHP_EOL;
  17. }
  18. var_dump(gmp_div_qr(12653,23482734));
  19. try {
  20. var_dump(gmp_div_qr(12653,23482734, 10));
  21. } catch (\ValueError $e) {
  22. echo $e->getMessage() . \PHP_EOL;
  23. }
  24. var_dump(gmp_div_qr(1123123,123));
  25. var_dump(gmp_div_qr(1123123,123, 1));
  26. var_dump(gmp_div_qr(1123123,123, 2));
  27. var_dump(gmp_div_qr(gmp_init(1123123), gmp_init(123)));
  28. var_dump(gmp_div_qr(1123123,123, GMP_ROUND_ZERO));
  29. var_dump(gmp_div_qr(1123123,123, GMP_ROUND_PLUSINF));
  30. var_dump(gmp_div_qr(1123123,123, GMP_ROUND_MINUSINF));
  31. $fp = fopen(__FILE__, 'r');
  32. try {
  33. var_dump(gmp_div_qr($fp, $fp));
  34. } catch (\TypeError $e) {
  35. echo $e->getMessage() . \PHP_EOL;
  36. }
  37. try {
  38. var_dump(gmp_div_qr(array(), array()));
  39. } catch (\TypeError $e) {
  40. echo $e->getMessage() . \PHP_EOL;
  41. }
  42. echo "Done\n";
  43. ?>
  44. --EXPECT--
  45. array(2) {
  46. [0]=>
  47. object(GMP)#1 (1) {
  48. ["num"]=>
  49. string(1) "0"
  50. }
  51. [1]=>
  52. object(GMP)#2 (1) {
  53. ["num"]=>
  54. string(1) "0"
  55. }
  56. }
  57. Division by zero
  58. Division by zero
  59. array(2) {
  60. [0]=>
  61. object(GMP)#2 (1) {
  62. ["num"]=>
  63. string(1) "0"
  64. }
  65. [1]=>
  66. object(GMP)#5 (1) {
  67. ["num"]=>
  68. string(5) "12653"
  69. }
  70. }
  71. gmp_div_qr(): Argument #3 ($rounding_mode) must be one of GMP_ROUND_ZERO, GMP_ROUND_PLUSINF, or GMP_ROUND_MINUSINF
  72. array(2) {
  73. [0]=>
  74. object(GMP)#4 (1) {
  75. ["num"]=>
  76. string(4) "9131"
  77. }
  78. [1]=>
  79. object(GMP)#3 (1) {
  80. ["num"]=>
  81. string(2) "10"
  82. }
  83. }
  84. array(2) {
  85. [0]=>
  86. object(GMP)#3 (1) {
  87. ["num"]=>
  88. string(4) "9132"
  89. }
  90. [1]=>
  91. object(GMP)#4 (1) {
  92. ["num"]=>
  93. string(4) "-113"
  94. }
  95. }
  96. array(2) {
  97. [0]=>
  98. object(GMP)#4 (1) {
  99. ["num"]=>
  100. string(4) "9131"
  101. }
  102. [1]=>
  103. object(GMP)#3 (1) {
  104. ["num"]=>
  105. string(2) "10"
  106. }
  107. }
  108. array(2) {
  109. [0]=>
  110. object(GMP)#1 (1) {
  111. ["num"]=>
  112. string(4) "9131"
  113. }
  114. [1]=>
  115. object(GMP)#2 (1) {
  116. ["num"]=>
  117. string(2) "10"
  118. }
  119. }
  120. array(2) {
  121. [0]=>
  122. object(GMP)#2 (1) {
  123. ["num"]=>
  124. string(4) "9131"
  125. }
  126. [1]=>
  127. object(GMP)#1 (1) {
  128. ["num"]=>
  129. string(2) "10"
  130. }
  131. }
  132. array(2) {
  133. [0]=>
  134. object(GMP)#1 (1) {
  135. ["num"]=>
  136. string(4) "9132"
  137. }
  138. [1]=>
  139. object(GMP)#2 (1) {
  140. ["num"]=>
  141. string(4) "-113"
  142. }
  143. }
  144. array(2) {
  145. [0]=>
  146. object(GMP)#2 (1) {
  147. ["num"]=>
  148. string(4) "9131"
  149. }
  150. [1]=>
  151. object(GMP)#1 (1) {
  152. ["num"]=>
  153. string(2) "10"
  154. }
  155. }
  156. gmp_div_qr(): Argument #1 ($num1) must be of type GMP|string|int, resource given
  157. gmp_div_qr(): Argument #1 ($num1) must be of type GMP|string|int, array given
  158. Done