Hi, The patch below fixes the result of modf() and modff() for Inf and NaN. Similar changes were made in NetBSD a while ago (see lib/libc/gen/modf_ieee754.c rev 1.3 and lib/libm/src/s_modff.c rev 1.9); modfl already gave the expected results.
This fixes the swi-prolog 9.0.x test set on OpenBSD/arm64 7.2 (see https://marc.info/?l=openbsd-ports&m=167474579121315&w=2). Note that this patch doesn’t touch the various assembler versions, so platforms like amd64 and sparc64 will require some extra work. Kind regards, Willemijn Coene
modf.patch
Description: Binary data