88 int NB, IB, IBNB, KT, NT, An;
112 plasma_error(
"PLASMA_dormlq",
"illegal value of trans");
123 if ((K < 0) || (K > An)) {
127 if (LDA <
max(1, K)) {
131 if (LDB <
max(1, M)) {
137 if (
min(M,
min(N, K)) == 0)
151 KT = ( K%NB==0) ? (K /NB) : (K /NB+1);
152 NT = (An%NB==0) ? (An/NB) : (An/NB+1);
160 KT*IB, NT*NB, 0, 0, KT*IB, NT*NB);
167 KT*IB, 2*NT*NB, 0, 0, KT*IB, 2*NT*NB);
172 plasma_dooplap2tile( descA, A, NB, NB, LDA, An, 0, 0, K, An,
plasma_desc_mat_free(&(descA)) );
173 plasma_dooplap2tile( descB, B, NB, NB, LDB, N, 0, 0, M, N,
plasma_desc_mat_free(&(descA));
plasma_desc_mat_free(&(descB)));
181 side, trans, &descA, &descT, &descB, sequence, &request);
194 status = sequence->
status;
256 if (plasma == NULL) {
263 status = sequence->
status;
305 if (plasma == NULL) {
309 if (sequence == NULL) {
313 if (request == NULL) {
325 plasma_error(
"PLASMA_dormlq_Tile",
"invalid first descriptor");
329 plasma_error(
"PLASMA_dormlq_Tile",
"invalid second descriptor");
333 plasma_error(
"PLASMA_dormlq_Tile",
"invalid third descriptor");
337 if (descA.
nb != descA.
mb || descB.
nb != descB.
mb) {
338 plasma_error(
"PLASMA_dormlq_Tile",
"only square tiles supported");