| 501 | | for ( size_t i = Nup, j = R ; i < Nup + R2; ++i, ++j){ |
| 502 | | fcopy( F, N - j, A + j*(lda + 1), 1, A + i*lda + j, 1); |
| 503 | | for (typename Field::Element *Ai = A + i*lda + j; |
| 504 | | Ai != A + i*lda + N; ++Ai) |
| 505 | | F.assign (*Ai, zero); |
| 506 | | size_t t = Q[j]; |
| 507 | | Q[j]=Q[i]; |
| 508 | | Q[i] = t; |
| | 501 | if (Diag == FflasNonUnit){ |
| | 502 | for ( size_t i = Nup, j = R ; i < Nup + R2; ++i, ++j){ |
| | 503 | fcopy( F, N - j, A + j*(lda + 1), 1, A + i*lda + j, 1); |
| | 504 | for (typename Field::Element *Ai = A + i*lda + j; |
| | 505 | Ai != A + i*lda + N; ++Ai) |
| | 506 | F.assign (*Ai, zero); |
| | 507 | size_t t = Q[j]; |
| | 508 | Q[j]=Q[i]; |
| | 509 | Q[i] = t; |
| | 510 | } |
| | 511 | } else { |
| | 512 | for ( size_t i = Nup, j = R+1 ; i < Nup + R2; ++i, ++j){ |
| | 513 | fcopy( F, N - j, A + (j-1)*lda + j, 1, A + i*lda + j, 1); |
| | 514 | for (typename Field::Element *Ai = A + i*lda + j; |
| | 515 | Ai != A + i*lda + N; ++Ai) |
| | 516 | F.assign (*Ai, zero); |
| | 517 | size_t t = Q[j-1]; |
| | 518 | Q[j-1]=Q[i]; |
| | 519 | Q[i] = t; |
| | 520 | } |