PaStiX Handbook  6.2.1
core_zgetmo.c
Go to the documentation of this file.
1 /**
2  *
3  * @file core_zgetmo.c
4  *
5  * PaStiX kernel routines
6  *
7  * @copyright 2010-2015 Univ. of Tennessee, Univ. of California Berkeley and
8  * Univ. of Colorado Denver. All rights reserved.
9  * @copyright 2015-2021 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
10  * Univ. Bordeaux. All rights reserved.
11  *
12  * @version 6.0.3
13  * @author Mathieu Faverge
14  * @author Gregoire Pichon
15  * @date 2019-11-12
16  * @generated from /builds/solverstack/pastix/kernels/core_zgetmo.c, normal z -> z, Tue Apr 12 09:38:34 2022
17  *
18  **/
19 #include "common.h"
20 
21 /**
22  ******************************************************************************
23  *
24  * @brief Transposes a m-by-n matrix out of place using an extra workspace of size
25  * m-by-n.
26  *
27  *******************************************************************************
28  *
29  * @param[in] m
30  * Number of rows of A.
31  *
32  * @param[in] n
33  * Number of columns of A.
34  *
35  * @param[in] A
36  * Matrix to be transposed.
37  *
38  * @param[in] lda
39  * Leading dimension of matrix A.
40  *
41  * @param[inout] B
42  * On exit B = trans(A).
43  *
44  * @param[in] ldb
45  * Leading dimension of matrix B.
46  *
47  ******************************************************************************/
48 void
49 core_zgetmo( int m, int n,
50  const pastix_complex64_t *A, int lda,
51  pastix_complex64_t *B, int ldb )
52 {
53  int i, j;
54 
55  /* rectangular transposition (use workspace) */
56  for (i=0; i<m; i++) {
57  for (j=0; j<n; j++) {
58  B[j+i*ldb] = A[i+j*lda];
59  }
60  }
61 }
core_zgetmo
void core_zgetmo(int m, int n, const pastix_complex64_t *A, int lda, pastix_complex64_t *B, int ldb)
Transposes a m-by-n matrix out of place using an extra workspace of size m-by-n.
Definition: core_zgetmo.c:49