66 typedef ScalarTraits<ScalarType> STS;
92 if (STS::magnitude (*da) > STS::magnitude (*db)) {
95 scale = STS::magnitude (*da) + STS::magnitude (*db);
96 if (scale == STS::zero()) {
107 r = scale * STS::squareroot (da_scaled*da_scaled + db_scaled*db_scaled);
108 r = SIGN (STS::one(), roe) * r;
112 if (STS::magnitude (*da) > STS::magnitude (*db)) {
115 if (STS::magnitude (*db) >= STS::magnitude (*da) && *c != STS::zero()) {
128 typedef typename ScalarType::value_type value_type;
129 typedef typename ScalarType::ordinal_type ordinal_type;
131 GivensRotator<value_type> value_rotator;
132 const ordinal_type sz = x.size() > y.size() ? x.size() : y.size();
134 for (ordinal_type i=0; i<sz; ++i)
135 z.fastAccessCoeff(i) = value_rotator.SIGN(x.coeff(i), y.coeff(i));