libflame  revision_anchor
Functions
bl1_create_contigmr.c File Reference

(r)

Functions

void bl1_screate_contigmr (uplo1_t uplo, int m, int n, float *a_save, int a_rs_save, int a_cs_save, float **a, int *a_rs, int *a_cs)
 
void bl1_dcreate_contigmr (uplo1_t uplo, int m, int n, double *a_save, int a_rs_save, int a_cs_save, double **a, int *a_rs, int *a_cs)
 
void bl1_ccreate_contigmr (uplo1_t uplo, int m, int n, scomplex *a_save, int a_rs_save, int a_cs_save, scomplex **a, int *a_rs, int *a_cs)
 
void bl1_zcreate_contigmr (uplo1_t uplo, int m, int n, dcomplex *a_save, int a_rs_save, int a_cs_save, dcomplex **a, int *a_rs, int *a_cs)
 

Function Documentation

◆ bl1_ccreate_contigmr()

void bl1_ccreate_contigmr ( uplo1_t  uplo,
int  m,
int  n,
scomplex a_save,
int  a_rs_save,
int  a_cs_save,
scomplex **  a,
int *  a_rs,
int *  a_cs 
)
78 {
79  int m_contig, n_contig;
80 
81  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
82  {
83  // Initialize dimensions assuming no transposition needed during copy.
84  m_contig = m;
85  n_contig = n;
86 /*
87  // Transpose the dimensions of the contiguous matrix, if requested.
88  if ( bl1_does_trans( trans_copy ) )
89  {
90  m_contig = n;
91  n_contig = m;
92  }
93 */
94  // Allocate temporary contiguous storage for the matrix.
95  *a = bl1_callocm( m_contig, n_contig );
96 
97  // Set the row and column strides for the temporary matrix.
98  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
99 
100  // Initialize the contiguous matrix with the contents of the original.
101  bl1_ccopymr( uplo,
102  m_contig,
103  n_contig,
104  a_save, a_rs_save, a_cs_save,
105  *a, *a_rs, *a_cs );
106  }
107 }
void bl1_ccopymr(uplo1_t uplo, int m, int n, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs)
Definition: bl1_copymr.c:139
int bl1_is_gen_storage(int rs, int cs)
Definition: bl1_is.c:100
void bl1_set_contig_strides(int m, int n, int *rs, int *cs)
Definition: bl1_set_contig_strides.c:13
scomplex * bl1_callocm(unsigned int m, unsigned int n)
Definition: bl1_allocm.c:40

References bl1_callocm(), bl1_ccopymr(), bl1_is_gen_storage(), and bl1_set_contig_strides().

Referenced by bl1_ccreate_contigmsr(), bl1_chemm(), bl1_chemv(), bl1_cher(), bl1_cher2(), bl1_cher2k(), bl1_cherk(), bl1_csymm(), bl1_csymv(), bl1_csyr(), bl1_csyr2(), bl1_csyr2k(), bl1_csyrk(), bl1_ctrmm(), bl1_ctrmmsx(), bl1_ctrmv(), bl1_ctrmvsx(), bl1_ctrsm(), bl1_ctrsmsx(), bl1_ctrsv(), and bl1_ctrsvsx().

◆ bl1_dcreate_contigmr()

void bl1_dcreate_contigmr ( uplo1_t  uplo,
int  m,
int  n,
double *  a_save,
int  a_rs_save,
int  a_cs_save,
double **  a,
int *  a_rs,
int *  a_cs 
)
46 {
47  int m_contig, n_contig;
48 
49  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
50  {
51  // Initialize dimensions assuming no transposition needed during copy.
52  m_contig = m;
53  n_contig = n;
54 /*
55  // Transpose the dimensions of the contiguous matrix, if requested.
56  if ( bl1_does_trans( trans_copy ) )
57  {
58  m_contig = n;
59  n_contig = m;
60  }
61 */
62  // Allocate temporary contiguous storage for the matrix.
63  *a = bl1_dallocm( m_contig, n_contig );
64 
65  // Set the row and column strides for the temporary matrix.
66  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
67 
68  // Initialize the contiguous matrix with the contents of the original.
69  bl1_dcopymr( uplo,
70  m_contig,
71  n_contig,
72  a_save, a_rs_save, a_cs_save,
73  *a, *a_rs, *a_cs );
74  }
75 }
void bl1_dcopymr(uplo1_t uplo, int m, int n, double *a, int a_rs, int a_cs, double *b, int b_rs, int b_cs)
Definition: bl1_copymr.c:76
double * bl1_dallocm(unsigned int m, unsigned int n)
Definition: bl1_allocm.c:35

References bl1_dallocm(), bl1_dcopymr(), bl1_is_gen_storage(), and bl1_set_contig_strides().

Referenced by bl1_dcreate_contigmsr(), bl1_dsymm(), bl1_dsymv(), bl1_dsyr(), bl1_dsyr2(), bl1_dsyr2k(), bl1_dsyrk(), bl1_dtrmm(), bl1_dtrmmsx(), bl1_dtrmv(), bl1_dtrmvsx(), bl1_dtrsm(), bl1_dtrsmsx(), bl1_dtrsv(), and bl1_dtrsvsx().

◆ bl1_screate_contigmr()

void bl1_screate_contigmr ( uplo1_t  uplo,
int  m,
int  n,
float *  a_save,
int  a_rs_save,
int  a_cs_save,
float **  a,
int *  a_rs,
int *  a_cs 
)
14 {
15  int m_contig, n_contig;
16 
17  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
18  {
19  // Initialize dimensions assuming no transposition needed during copy.
20  m_contig = m;
21  n_contig = n;
22 /*
23  // Transpose the dimensions of the contiguous matrix, if requested.
24  if ( bl1_does_trans( trans_copy ) )
25  {
26  m_contig = n;
27  n_contig = m;
28  }
29 */
30  // Allocate temporary contiguous storage for the matrix.
31  *a = bl1_sallocm( m_contig, n_contig );
32 
33  // Set the row and column strides for the temporary matrix.
34  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
35 
36  // Initialize the contiguous matrix with the contents of the original.
37  bl1_scopymr( uplo,
38  m_contig,
39  n_contig,
40  a_save, a_rs_save, a_cs_save,
41  *a, *a_rs, *a_cs );
42  }
43 }
void bl1_scopymr(uplo1_t uplo, int m, int n, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs)
Definition: bl1_copymr.c:13
float * bl1_sallocm(unsigned int m, unsigned int n)
Definition: bl1_allocm.c:30

References bl1_is_gen_storage(), bl1_sallocm(), bl1_scopymr(), and bl1_set_contig_strides().

Referenced by bl1_screate_contigmsr(), bl1_ssymm(), bl1_ssymv(), bl1_ssyr(), bl1_ssyr2(), bl1_ssyr2k(), bl1_ssyrk(), bl1_strmm(), bl1_strmmsx(), bl1_strmv(), bl1_strmvsx(), bl1_strsm(), bl1_strsmsx(), bl1_strsv(), and bl1_strsvsx().

◆ bl1_zcreate_contigmr()

void bl1_zcreate_contigmr ( uplo1_t  uplo,
int  m,
int  n,
dcomplex a_save,
int  a_rs_save,
int  a_cs_save,
dcomplex **  a,
int *  a_rs,
int *  a_cs 
)
110 {
111  int m_contig, n_contig;
112 
113  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
114  {
115  // Initialize dimensions assuming no transposition needed during copy.
116  m_contig = m;
117  n_contig = n;
118 /*
119  // Transpose the dimensions of the contiguous matrix, if requested.
120  if ( bl1_does_trans( trans_copy ) )
121  {
122  m_contig = n;
123  n_contig = m;
124  }
125 */
126  // Allocate temporary contiguous storage for the matrix.
127  *a = bl1_zallocm( m_contig, n_contig );
128 
129  // Set the row and column strides for the temporary matrix.
130  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
131 
132  // Initialize the contiguous matrix with the contents of the original.
133  bl1_zcopymr( uplo,
134  m_contig,
135  n_contig,
136  a_save, a_rs_save, a_cs_save,
137  *a, *a_rs, *a_cs );
138  }
139 }
void bl1_zcopymr(uplo1_t uplo, int m, int n, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs)
Definition: bl1_copymr.c:202
dcomplex * bl1_zallocm(unsigned int m, unsigned int n)
Definition: bl1_allocm.c:45

References bl1_is_gen_storage(), bl1_set_contig_strides(), bl1_zallocm(), and bl1_zcopymr().

Referenced by bl1_zcreate_contigmsr(), bl1_zhemm(), bl1_zhemv(), bl1_zher(), bl1_zher2(), bl1_zher2k(), bl1_zherk(), bl1_zsymm(), bl1_zsymv(), bl1_zsyr(), bl1_zsyr2(), bl1_zsyr2k(), bl1_zsyrk(), bl1_ztrmm(), bl1_ztrmmsx(), bl1_ztrmv(), bl1_ztrmvsx(), bl1_ztrsm(), bl1_ztrsmsx(), bl1_ztrsv(), and bl1_ztrsvsx().