Hi Michael, I recently found little mismatch between the impmentation and the man in atanh function. current man page says http://www.kernel.org/doc/man-pages/online/pages/man3/atanh.3.html --------------------------------------------------------- BUGS For a pole error, errno is set to EDOM; POSIX.1 says it should be set to ERANGE. --------------------------------------------------------- but following test programs "34: Numerical result out of range". It mean atanh return ERANGE rightly. atanh_test.c --------------------------------------------------------- #include <math.h> #include <stdio.h> #include <sys/errno.h> #include <string.h> int main(void) { double d; d = atanh(1.0); if (d == HUGE_VAL) printf("huge %d: %s\n", errno, strerror(errno)); else printf("Oops no error\n"); return 0; } --------------------------------------------------------- I dug in glibc's ChangeLog and I found following change. So, can we consider to change the man too? --------------------------------------------------------- 2009-04-26 Ulrich Drepper <drepper@xxxxxxxxxx> * sysdeps/ieee754/dbl-64/s_expm1.c: Set errno for overflow. * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. * sysdeps/x86_64/fpu/s_expm1l.S: Likewise. * sysdeps/ieee754/k_standard.c (__kernel_standard): Pole errors in atanh should set ERANGE. -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html