1--TEST--
2Test sprintf() function : Rope Optimization for '%d' with GMP objects
3--EXTENSIONS--
4gmp
5--FILE--
6<?php
7
8$a = new GMP("42");
9$b = new GMP("-1337");
10$c = new GMP("999999999999999999999999999999999");
11
12try {
13	if (PHP_INT_SIZE == 8) {
14		var_dump(sprintf("%d/%d/%d/%s", $a, $b, $c, $c + 1));
15		var_dump("42/-1337/2147483647/1000000000000000000000000000000000");
16	} else {
17		var_dump("42/-1337/4089650035136921599/1000000000000000000000000000000000");
18		var_dump(sprintf("%d/%d/%d/%s", $a, $b, $c, $c + 1));
19	}
20} catch (\Throwable $e) {echo $e, PHP_EOL; } echo PHP_EOL;
21
22echo "Done";
23?>
24--EXPECTF--
25string(63) "42/-1337/4089650035136921599/1000000000000000000000000000000000"
26string(54) "42/-1337/2147483647/1000000000000000000000000000000000"
27
28Done
29