Browse Source

minor fix in __tanl (get sign properly)

nsz 13 years ago
parent
commit
c3587effe2
1 changed files with 1 additions and 2 deletions
  1. 1 2
      src/math/__tanl.c

+ 1 - 2
src/math/__tanl.c

@@ -51,8 +51,7 @@ long double __tanl(long double x, long double y, int iy) {
 	int i;
 
 	iy = iy == 1 ? -1 : 1;        /* XXX recover original interface */
-	// FIXME: this is wrong, use copysign, signbit or union bithack
-	osign = x >= 0 ? 1.0 : -1.0;  /* XXX slow, probably wrong for -0 */
+	osign = copysignl(1.0, x);
 	if (fabsl(x) >= 0.67434) {
 		if (x < 0) {
 			x = -x;