Doxygen Source Code Documentation
eis_csroot.c File Reference
#include "f2c.h"Go to the source code of this file.
Functions | |
| int | csroot_ (doublereal *xr, doublereal *xi, doublereal *yr, doublereal *yi) |
Function Documentation
|
||||||||||||||||||||
|
Definition at line 8 of file eis_csroot.c. References abs, and pythag_(). Referenced by comlr2_(), comlr_(), comqr2_(), and comqr_().
00010 {
00011 /* Builtin functions */
00012 double sqrt(doublereal);
00013
00014 /* Local variables */
00015 static doublereal s, ti, tr;
00016 extern doublereal pythag_(doublereal *, doublereal *);
00017
00018
00019 /* (YR,YI) = COMPLEX DSQRT(XR,XI) */
00020 /* BRANCH CHOSEN SO THAT YR .GE. 0.0 AND SIGN(YI) .EQ. SIGN(XI) */
00021
00022 tr = *xr;
00023 ti = *xi;
00024 s = sqrt((pythag_(&tr, &ti) + abs(tr)) * .5);
00025 if (tr >= 0.) {
00026 *yr = s;
00027 }
00028 if (ti < 0.) {
00029 s = -s;
00030 }
00031 if (tr <= 0.) {
00032 *yi = s;
00033 }
00034 if (tr < 0.) {
00035 *yr = ti / *yi * .5;
00036 }
00037 if (tr > 0.) {
00038 *yi = ti / *yr * .5;
00039 }
00040 return 0;
00041 } /* csroot_ */
|