Merge branch release-4-6 into release-5-0
[alexxy/gromacs.git] / src / gromacs / linearalgebra / gmx_lapack / slapy2.c
1 #include <math.h>
2 #include "../gmx_lapack.h"
3
4 #include "types/simple.h"
5
6 float
7 F77_FUNC(slapy2,SLAPY2)(float * x, float * y)
8 {
9   float xabs,yabs;
10   float w,z;
11
12   xabs = fabs(*x);
13   yabs = fabs(*y);
14   
15   if(xabs>yabs) {
16     w = xabs;
17     z = yabs;
18   } else {
19     w = yabs;
20     z = xabs;
21   }
22
23   if( fabs(z)<GMX_FLOAT_MIN) 
24     return w;
25   else {
26     z = z/w;
27     return w*sqrt(1.0+z*z);
28   }
29 }
30