Subroutine */
| 367 | } /* cdotu_ */ |
| 368 | |
| 369 | /* Subroutine */ int cgemm_(char *transa, char *transb, integer *m, integer * |
| 370 | n, integer *k, complex *alpha, complex *a, integer *lda, complex *b, |
| 371 | integer *ldb, complex *beta, complex *c__, integer *ldc) |
| 372 | { |
| 373 | /* System generated locals */ |
| 374 | integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2, |
| 375 | i__3, i__4, i__5, i__6; |
| 376 | complex q__1, q__2, q__3, q__4; |
| 377 | |
| 378 | /* Local variables */ |
| 379 | static integer i__, j, l, info; |
| 380 | static logical nota, notb; |
| 381 | static complex temp; |
| 382 | static logical conja, conjb; |
| 383 | extern logical lsame_(char *, char *); |
| 384 | static integer nrowa, nrowb; |
| 385 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 386 | |
| 387 | |
| 388 | /* |
| 389 | Purpose |
| 390 | ======= |
| 391 | |
| 392 | CGEMM performs one of the matrix-matrix operations |
| 393 | |
| 394 | C := alpha*op( A )*op( B ) + beta*C, |
| 395 | |
| 396 | where op( X ) is one of |
| 397 | |
| 398 | op( X ) = X or op( X ) = X' or op( X ) = conjg( X' ), |
| 399 | |
| 400 | alpha and beta are scalars, and A, B and C are matrices, with op( A ) |
| 401 | an m by k matrix, op( B ) a k by n matrix and C an m by n matrix. |
| 402 | |
| 403 | Arguments |
| 404 | ========== |
| 405 | |
| 406 | TRANSA - CHARACTER*1. |
| 407 | On entry, TRANSA specifies the form of op( A ) to be used in |
| 408 | the matrix multiplication as follows: |
| 409 | |
| 410 | TRANSA = 'N' or 'n', op( A ) = A. |
| 411 | |
| 412 | TRANSA = 'T' or 't', op( A ) = A'. |
| 413 | |
| 414 | TRANSA = 'C' or 'c', op( A ) = conjg( A' ). |
| 415 | |
| 416 | Unchanged on exit. |
| 417 | |
| 418 | TRANSB - CHARACTER*1. |
| 419 | On entry, TRANSB specifies the form of op( B ) to be used in |
| 420 | the matrix multiplication as follows: |
| 421 | |
| 422 | TRANSB = 'N' or 'n', op( B ) = B. |
| 423 | |
| 424 | TRANSB = 'T' or 't', op( B ) = B'. |
| 425 | |
| 426 | TRANSB = 'C' or 'c', op( B ) = conjg( B' ). |