#include <stdio.h>
#include <math.h>
int main(void) {
double d1 = 1. * 0.;
double d2 = (-1.) * 0;
printf("d1 == d2: %s\n", (d1
== d2
)?"true":"false");
printf("signbit(d1) != 0: %d\n", (int)(signbit
(d1
) != 0)); printf("signbit(d2) != 0: %d\n", (int)(signbit
(d2
) != 0));
printf("copysign(1., d1): %f\n", copysign
(1.
, d1
)); printf("copysign(1., d2): %f\n", copysign
(1.
, d2
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgbWFpbih2b2lkKSB7Cglkb3VibGUgZDEgPSAxLiAqIDAuOwoJZG91YmxlIGQyID0gKC0xLikgKiAwOwoJCglwcmludGYoImQxOiAlZlxuIiwgZDEpOwoJcHJpbnRmKCJkMjogJWZcbiIsIGQyKTsKCQoJcHJpbnRmKCJkMSA9PSBkMjogJXNcbiIsIChkMSA9PSBkMik/InRydWUiOiJmYWxzZSIpOwoJCglwcmludGYoInNpZ25iaXQoZDEpICE9IDA6ICVkXG4iLCAoaW50KShzaWduYml0KGQxKSAhPSAwKSk7CglwcmludGYoInNpZ25iaXQoZDIpICE9IDA6ICVkXG4iLCAoaW50KShzaWduYml0KGQyKSAhPSAwKSk7CgkKCXByaW50ZigiY29weXNpZ24oMS4sIGQxKTogJWZcbiIsIGNvcHlzaWduKDEuLCBkMSkpOwoJcHJpbnRmKCJjb3B5c2lnbigxLiwgZDIpOiAlZlxuIiwgY29weXNpZ24oMS4sIGQyKSk7CglyZXR1cm4gMDsKfQ==