version 1.1.1.2, 2000/01/22 14:16:02 |
version 1.1.1.3, 2003/09/15 07:09:26 |
Line 572 register double x, y; |
|
Line 572 register double x, y; |
|
/* real result */ |
/* real result */ |
push( Gcomplex(&a,acos(x)/ang2rad,0.0) ); |
push( Gcomplex(&a,acos(x)/ang2rad,0.0) ); |
} else { |
} else { |
double alpha = sqrt((x + 1)*(x + 1) + y*y)/2 + sqrt((x - 1)*(x - 1) + y*y)/2; |
double alpha = sqrt((x + 1) * (x + 1) + y * y) / 2 |
double beta = sqrt((x + 1)*(x + 1) + y*y)/2 - sqrt((x - 1)*(x - 1) + y*y)/2; |
+ sqrt((x - 1) * (x - 1) + y * y) / 2; |
|
double beta = sqrt((x + 1) * (x + 1) + y * y) / 2 |
|
- sqrt((x - 1) * (x - 1) + y * y) / 2; |
if (beta > 1) |
if (beta > 1) |
beta = 1; /* Avoid rounding error problems */ |
beta = 1; /* Avoid rounding error problems */ |
else if (beta < -1) |
else if (beta < -1) |
beta = -1; |
beta = -1; |
push( Gcomplex(&a,acos(beta)/ang2rad, log(alpha + sqrt(alpha*alpha-1))/ang2rad)); |
push( Gcomplex(&a, (y > 0? -1: 1)*acos(beta) / ang2rad, |
|
log(alpha + sqrt(alpha*alpha-1)) / ang2rad)); |
} |
} |
} |
} |
|
|
Line 686 register double alpha, beta, x, y; /* acosh(z) |
|
Line 689 register double alpha, beta, x, y; /* acosh(z) |
|
} else if (y == 0) { |
} else if (y == 0) { |
push( Gcomplex(&a, log(x+sqrt(x*x-1))/ang2rad, 0.0) ); |
push( Gcomplex(&a, log(x+sqrt(x*x-1))/ang2rad, 0.0) ); |
} else { |
} else { |
alpha = sqrt((x + 1)*(x + 1) + y*y)/2 + sqrt((x - 1)*(x - 1) + y*y)/2; |
alpha = sqrt((x + 1) * (x + 1) + y * y) / 2 |
beta = sqrt((x + 1)*(x + 1) + y*y)/2 - sqrt((x - 1)*(x - 1) + y*y)/2; |
+ sqrt((x - 1) * (x - 1) + y * y) / 2; |
push( Gcomplex(&a, log(alpha + sqrt(alpha*alpha-1))/ang2rad, acos(beta)/ang2rad)); |
beta = sqrt((x + 1) * (x + 1) + y * y) / 2 |
|
- sqrt((x - 1) * (x - 1) + y * y) / 2; |
|
push( Gcomplex(&a, log(alpha + sqrt(alpha * alpha - 1)) / ang2rad, (y<0 ? -1 : 1) * acos(beta) / ang2rad)); |
} |
} |
} |
} |
|
|