2 #include "gromacs/utility/real.h"
4 #include "../gmx_lapack.h"
8 F77_FUNC(slaev2,SLAEV2)(float * a,
18 float ab, df, cs, ct, tb, sm, tn, rt, adf, acs;
27 if (fabs(*a) > fabs(*c__)) {
36 rt = adf * sqrt(d__1 * d__1 + 1.);
37 } else if (adf < ab) {
39 rt = ab * sqrt(d__1 * d__1 + 1.);
45 *rt1 = (sm - rt) * .5;
48 *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b;
50 *rt1 = (sm + rt) * .5;
52 *rt2 = acmx / *rt1 * acmn - *b / *rt1 * *b;
68 *sn1 = 1. / sqrt(ct * ct + 1.);
71 if (fabs(ab)<GMX_FLOAT_MIN) {
76 *cs1 = 1. / sqrt(tn * tn + 1.);