2 #include "types/simple.h"
4 #include "../gmx_lapack.h"
7 F77_FUNC(slas2,SLAS2)(float *f,
16 float fhmin,fhmax,tmax,tmin,tmp1,tmp2;
19 fhmin = (fa<ha) ? fa : ha;
20 fhmax = (fa>ha) ? fa : ha;
22 if(fabs(fhmin)<GMX_FLOAT_MIN) {
24 if(fabs(fhmax)<GMX_FLOAT_MIN)
27 tmax = (fhmax>ga) ? fhmax : ga;
28 tmin = (fhmax<ga) ? fhmax : ga;
31 *ssmax = tmax*sqrt(1.0 + tmp1);
35 as = 1.0 + fhmin / fhmax;
36 at = (fhmax-fhmin) / fhmax;
39 c = 2.0 / ( sqrt(as*as+au) + sqrt(at*at+au) );
44 if(fabs(au)<GMX_FLOAT_MIN) {
45 *ssmin = (fhmin*fhmax)/ga;
48 as = 1.0 + fhmin / fhmax;
49 at = (fhmax-fhmin)/fhmax;
52 c = 1.0 / ( sqrt(1.0+tmp1*tmp1) + sqrt(1.0+tmp2*tmp2));
53 *ssmin = (fhmin*c)*au;
54 *ssmin = *ssmin + *ssmin;