PaStiX Handbook  6.3.2
core_cgetmo.c
Go to the documentation of this file.
1 /**
2  *
3  * @file core_cgetmo.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-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
10  * Univ. Bordeaux. All rights reserved.
11  *
12  * @version 6.3.2
13  * @author Mathieu Faverge
14  * @author Gregoire Pichon
15  * @date 2023-07-21
16  * @generated from /builds/solverstack/pastix/kernels/core_zgetmo.c, normal z -> c, Wed Dec 13 12:09:11 2023
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_cgetmo( int m,
50  int n,
51  const pastix_complex32_t *A,
52  int lda,
54  int ldb )
55 {
56  int i, j;
57 
58  /* rectangular transposition (use workspace) */
59  for (i=0; i<m; i++) {
60  for (j=0; j<n; j++) {
61  B[j+i*ldb] = A[i+j*lda];
62  }
63  }
64 }
float _Complex pastix_complex32_t
Definition: datatypes.h:76
void core_cgetmo(int m, int n, const pastix_complex32_t *A, int lda, pastix_complex32_t *B, int ldb)
Transposes a m-by-n matrix out of place using an extra workspace of size m-by-n.
Definition: core_cgetmo.c:49