352 work0.setbounds(1, n-1);
353 work1.setbounds(1, n-1);
354 work2.setbounds(1, n-1);
355 work3.setbounds(1, n-1);
369 etemp.setbounds(1, n);
370 for(
i=1;
i<=n-1;
i++)
375 for(
i=1;
i<=n-1;
i++)
394 for(
i=1;
i<=n-1;
i++)
396 rotations::generaterotation<Precision>(d(
i), e(
i),
cs,
sn, r);
435 smax = amp::maximum<Precision>(
smax, amp::abs<Precision>(d(
i)));
437 for(
i=1;
i<=n-1;
i++)
439 smax = amp::maximum<Precision>(
smax, amp::abs<Precision>(e(
i)));
448 sminoa = amp::abs<Precision>(d(1));
454 mu = amp::abs<Precision>(d(
i))*(
mu/(
mu+amp::abs<Precision>(e(
i-1))));
511 if(
tol<0 && amp::abs<Precision>(d(
m))<=
thresh )
515 smax = amp::abs<Precision>(d(
m));
521 abss = amp::abs<Precision>(d(
ll));
522 abse = amp::abs<Precision>(e(
ll));
629 if( amp::abs<Precision>(d(
ll))>=amp::abs<Precision>(d(
m)) )
657 if( amp::abs<Precision>(e(
m-1))<=amp::abs<Precision>(
tol)*amp::abs<Precision>(d(
m)) ||
tol<0 && amp::abs<Precision>(e(
m-1))<=
thresh )
669 mu = amp::abs<Precision>(d(
ll));
674 if( amp::abs<Precision>(e(
lll))<=
tol*
mu )
681 mu = amp::abs<Precision>(d(
lll+1))*(
mu/(
mu+amp::abs<Precision>(e(
lll))));
697 if( amp::abs<Precision>(e(
ll))<=amp::abs<Precision>(
tol)*amp::abs<Precision>(d(
ll)) ||
tol<0 && amp::abs<Precision>(e(
ll))<=
thresh )
709 mu = amp::abs<Precision>(d(
m));
714 if( amp::abs<Precision>(e(
lll))<=
tol*
mu )
721 mu = amp::abs<Precision>(d(
lll))*(
mu/(
mu+amp::abs<Precision>(e(
lll))));
753 sll = amp::abs<Precision>(d(
ll));
758 sll = amp::abs<Precision>(d(
m));
767 if( amp::sqr<Precision>(shift/
sll)<
eps )
795 rotations::generaterotation<Precision>(d(
i)*
cs, e(
i),
cs,
sn, r);
830 if( amp::abs<Precision>(e(
m-1))<=
thresh )
846 rotations::generaterotation<Precision>(d(
i)*
cs, e(
i-1),
cs,
sn, r);
881 if( amp::abs<Precision>(e(
ll))<=
thresh )
904 rotations::generaterotation<Precision>(
f,
g,
cosr,
sinr, r);
913 rotations::generaterotation<Precision>(
f,
g,
cosl,
sinl, r);
948 if( amp::abs<Precision>(e(
m-1))<=
thresh )
964 rotations::generaterotation<Precision>(
f,
g,
cosr,
sinr, r);
973 rotations::generaterotation<Precision>(
f,
g,
cosl,
sinl, r);
992 if( amp::abs<Precision>(e(
ll))<=
thresh )
1044 for(
i=1;
i<=n-1;
i++)
1052 for(
j=2;
j<=n+1-
i;
j++)