S'il vous plaît considérer cet extrait (lié à How is 13 % 64= -13)Pourquoi gmp_mod produit-il des résultats différents sur différentes plateformes?
if(extension_loaded('GMP')) {
printf("
PHP Version: %s
gmp_strval(gmp_mod('-13', '64')) = %s
gmp_strval(gmp_mod(-13, 64)) = %s
gmp_mod(-13, 64) = %s
",
phpversion(),
gmp_strval(gmp_mod('-13', '64')),
gmp_strval(gmp_mod(-13, 64)),
gmp_mod(-13, 64)
);
}
Sur mon Win7 x64 cela produit
PHP Version: 5.3.3
gmp_strval(gmp_mod('-13', '64')) = 51
gmp_strval(gmp_mod(-13, 64)) = -51
gmp_mod(-13, 64) = -51
qui est étrange, car sur http://codepad.viper-7.com/gqN5aa il produit seulement 51.
I could not find a bug for gmp_mod
on the PHP Bugtracker. Mais il n'y a rien au manual page indiquant des résultats différents. Et je ne vois pas pourquoi cela devrait produire des résultats différents. Veuillez exécuter l'extrait de code ci-dessus et publier la sortie avec le système d'exploitation et l'architecture de l'UC que vous utilisez, afin que je puisse confirmer qu'il ne s'agit pas uniquement de l'action de ma machine. En outre, si vous savez s'il s'agit d'un problème connu ou même d'un comportement attendu, veuillez me diriger vers un lien dans le bugtracker. Sinon, je vais ouvrir un bug avec les résultats collectés.
Merci!
P.S. s'il vous plaît laissez-moi savoir si je devrais demander CW pour cela. Sinon, je vais mettre le lien vers le bugtracker comme réponse (sauf si quelqu'un vient avec une explication convaincante).
+1 m'a aussi énervé. pas CW – mario