A small riddle: What does this loop do? int exceptions = 0; do { ... exceptions = (exceptions - FE_ALL_EXCEPT) & FE_ALL_EXCEPT; } while (exceptions != 0);
2023-11-07 Bruno Haible <br...@clisp.org> fenv-exceptions-trapping tests: Comments. * tests/test-fenv-except-trapping-1.c (main): Add a comment. diff --git a/tests/test-fenv-except-trapping-1.c b/tests/test-fenv-except-trapping-1.c index 7c67a06ec9..e717bb1739 100644 --- a/tests/test-fenv-except-trapping-1.c +++ b/tests/test-fenv-except-trapping-1.c @@ -44,7 +44,11 @@ main () unsigned int a, b; /* Run through all possible valid arguments to feenableexcept and - fedisableexcept. */ + fedisableexcept. + An alternative way of coding this iteration, without the uint_to_exceptions + function, would be using the trick from + Jörg Arndt: Matters Computational <https://www.jjj.de/fxt/fxtbook.pdf> + § 1.25.1 Generating bit subsets of a given word */ for (a = 0; a < 0x20; a++) for (b = 0; b < 0x20; b++) {