PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
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-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
10 * Univ. Bordeaux. All rights reserved.
11 *
12 * @version 6.4.0
13 * @author Mathieu Faverge
14 * @author Gregoire Pichon
15 * @date 2024-07-05
16 * @generated from /builds/2mk6rsew/0/solverstack/pastix/kernels/core_zgetmo.c, normal z -> z, Tue Feb 25 14:34:57 2025
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 ******************************************************************************/
48void
50 int n,
51 const pastix_complex64_t *A,
52 int lda,
53 pastix_complex64_t *B,
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}
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