Same with 5.7 under virtualbox.
On 8/6/15, Assaf Gordon <assafgor...@gmail.com> wrote:
> Hello,
>
> On OpenBSD-5.7/amd64 (under qemu/kvm), I'm getting incorrect results
> when using ceill(3). For values between 0 and 1, the returned value
> is 0, while I'd expected it to be 1. Using ceil(3) does return 1 as
> expected. Is this my incorrect usage or a bug?
> any advice/comment will be appreciated.
>
> To reproduce:
>
> $ cat 1.c
> #include <math.h>
> #include <stdio.h>
> int main()
> {
> long double d;
> printf("d ceill(d) ceil(d)\n");
> for (d = 0.3; d <= 3.8; d+=0.5)
> printf("%-4Lg %-8Lg %-5g\n",
> d, ceill(d), ceil((double)d));
> return 0;
> }
>
> $ gcc -g -O0 -Wall -Wextra -o 1 1.c -lm
> $ ./1
> d ceill(d) ceil(d)
> 0.3 0 1 <----
> 0.8 0 1 <----
> 1.3 2 2
> 1.8 2 2
> 2.3 3 3
> 2.8 3 3
> 3.3 4 4
>
> Thanks,
> - assaf