Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
eis_pythag.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "f2c.h"
00007
00008 doublereal pythag_(doublereal *a, doublereal *b)
00009 {
00010
00011 doublereal ret_val, d__1, d__2, d__3;
00012
00013
00014 static doublereal p, r__, s, t, u;
00015
00016
00017
00018
00019
00020 d__1 = abs(*a), d__2 = abs(*b);
00021 p = max(d__1,d__2);
00022 if (p == 0.) {
00023 goto L20;
00024 }
00025
00026 d__2 = abs(*a), d__3 = abs(*b);
00027
00028 d__1 = min(d__2,d__3) / p;
00029 r__ = d__1 * d__1;
00030 L10:
00031 t = r__ + 4.;
00032 if (t == 4.) {
00033 goto L20;
00034 }
00035 s = r__ / t;
00036 u = s * 2. + 1.;
00037 p = u * p;
00038
00039 d__1 = s / u;
00040 r__ = d__1 * d__1 * r__;
00041 goto L10;
00042 L20:
00043 ret_val = p;
00044 return ret_val;
00045 }
00046