257 bool isfractionalaccuracyrequired,
314 bool matrixsplitflag;
343 ap::vmul(vt.getrow(vstart, vstart, vstart+ncvt-1), -1);
370 for(
i=1;
i<=n-1;
i++)
375 for(
i=1;
i<=n-1;
i++)
394 for(
i=1;
i<=n-1;
i++)
424 if( !isfractionalaccuracyrequired )
437 for(
i=1;
i<=n-1;
i++)
517 matrixsplitflag =
false;
518 for(lll=1; lll<=
m-1; lll++)
523 if( tol<0 && abss<=thresh )
529 matrixsplitflag =
true;
535 if( !matrixsplitflag )
578 mm1 =
m-1+(vstart-1);
581 ap::vmul(vt.getrow(mm0, vstart, vend), cosr);
582 ap::vsub(vt.getrow(mm0, vstart, vend), vt.getrow(mm1, vstart, vend), sinr);
591 ap::vmul(u.getcolumn(mm0, ustart, uend), cosl);
592 ap::vsub(u.getcolumn(mm0, ustart, uend), u.getcolumn(mm1, ustart, uend), sinl);
601 ap::vmul(c.getrow(mm0, cstart, cend), cosl);
602 ap::vsub(c.getrow(mm0, cstart, cend), c.getrow(mm1, cstart, cend), sinl);
627 if( ll!=oldll ||
m!=oldm || bchangedir )
672 for(lll=ll; lll<=
m-1; lll++)
712 for(lll=
m-1; lll>=ll; lll--)
793 for(
i=ll;
i<=
m-1;
i++)
804 work2(
i-ll+1) = oldcs;
805 work3(
i-ll+1) = oldsn;
844 for(
i=
m;
i>=ll+1;
i--)
856 work3(
i-ll) = -oldsn;
902 for(
i=ll;
i<=
m-1;
i++)
909 f = cosr*d(
i)+sinr*e(
i);
910 e(
i) = cosr*e(
i)-sinr*d(
i);
912 d(
i+1) = cosr*d(
i+1);
915 f = cosl*e(
i)+sinl*d(
i+1);
916 d(
i+1) = cosl*d(
i+1)-sinl*e(
i);
920 e(
i+1) = cosl*e(
i+1);
922 work0(
i-ll+1) = cosr;
923 work1(
i-ll+1) = sinr;
924 work2(
i-ll+1) = cosl;
925 work3(
i-ll+1) = sinl;
962 for(
i=
m;
i>=ll+1;
i--)
969 f = cosr*d(
i)+sinr*e(
i-1);
970 e(
i-1) = cosr*e(
i-1)-sinr*d(
i);
972 d(
i-1) = cosr*d(
i-1);
975 f = cosl*e(
i-1)+sinl*d(
i-1);
976 d(
i-1) = cosl*d(
i-1)-sinl*e(
i-1);
980 e(
i-2) = cosl*e(
i-2);
1035 ap::vmul(vt.getrow(
i+vstart-1, vstart, vend), -1);
1044 for(
i=1;
i<=n-1;
i++)
1052 for(
j=2;
j<=n+1-
i;
j++)
1072 ap::vmove(vt.getrow(isub+vstart-1, vstart, vend), vt.getrow(
j+vstart-1, vstart, vend));
1079 ap::vmove(u.getcolumn(isub+ustart-1, ustart, uend), u.getcolumn(
j+ustart-1, ustart, uend));
1086 ap::vmove(c.getrow(isub+cstart-1, cstart, cend), c.getrow(
j+cstart-1, cstart, cend));