libflame  revision_anchor
Functions
bl1_create_contigm.c File Reference

(r)

Functions

void bl1_screate_contigm (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_contigm (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_contigm (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_contigm (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_contigm()

void bl1_ccreate_contigm ( int  m,
int  n,
scomplex a_save,
int  a_rs_save,
int  a_cs_save,
scomplex **  a,
int *  a_rs,
int *  a_cs 
)
82 {
83  int m_contig, n_contig;
84 
85  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
86  {
87  // Initialize dimensions assuming no transposition needed during copy.
88  m_contig = m;
89  n_contig = n;
90 
91 /*
92  // Transpose the dimensions of the contiguous matrix, if requested.
93  if ( bl1_does_trans( trans_copy ) )
94  {
95  m_contig = n;
96  n_contig = m;
97  }
98 */
99 
100  // Allocate temporary contiguous storage for the matrix.
101  *a = bl1_callocm( m_contig, n_contig );
102 
103  // Set the row and column strides for the temporary matrix.
104  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
105 
106  // Initialize the contiguous matrix with the contents of the original.
108  m_contig,
109  n_contig,
110  a_save, a_rs_save, a_cs_save,
111  *a, *a_rs, *a_cs );
112  }
113 }
void bl1_ccopymt(trans1_t trans, int m, int n, scomplex *a, int a_rs, int a_cs, scomplex *b, int b_rs, int b_cs)
Definition: bl1_copymt.c:215
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
@ BLIS1_NO_TRANSPOSE
Definition: blis_type_defs.h:54

References bl1_callocm(), bl1_ccopymt(), bl1_is_gen_storage(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_cgemm(), bl1_cgemv(), bl1_cger(), bl1_chemm(), bl1_csymm(), bl1_ctrmm(), bl1_ctrmmsx(), bl1_ctrsm(), and bl1_ctrsmsx().

◆ bl1_dcreate_contigm()

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

References bl1_dallocm(), bl1_dcopymt(), bl1_is_gen_storage(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_dgemm(), bl1_dgemv(), bl1_dger(), bl1_dsymm(), bl1_dtrmm(), bl1_dtrmmsx(), bl1_dtrsm(), and bl1_dtrsmsx().

◆ bl1_screate_contigm()

void bl1_screate_contigm ( 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 /*
24  // Transpose the dimensions of the contiguous matrix, if requested.
25  if ( bl1_does_trans( trans_copy ) )
26  {
27  m_contig = n;
28  n_contig = m;
29  }
30 */
31 
32  // Allocate temporary contiguous storage for the matrix.
33  *a = bl1_sallocm( m_contig, n_contig );
34 
35  // Set the row and column strides for the temporary matrix.
36  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
37 
38  // Initialize the contiguous matrix with the contents of the original.
40  m_contig,
41  n_contig,
42  a_save, a_rs_save, a_cs_save,
43  *a, *a_rs, *a_cs );
44  }
45 }
void bl1_scopymt(trans1_t trans, int m, int n, float *a, int a_rs, int a_cs, float *b, int b_rs, int b_cs)
Definition: bl1_copymt.c:81
float * bl1_sallocm(unsigned int m, unsigned int n)
Definition: bl1_allocm.c:30

References bl1_is_gen_storage(), bl1_sallocm(), bl1_scopymt(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_sgemm(), bl1_sgemv(), bl1_sger(), bl1_ssymm(), bl1_strmm(), bl1_strmmsx(), bl1_strsm(), and bl1_strsmsx().

◆ bl1_zcreate_contigm()

void bl1_zcreate_contigm ( int  m,
int  n,
dcomplex a_save,
int  a_rs_save,
int  a_cs_save,
dcomplex **  a,
int *  a_rs,
int *  a_cs 
)
116 {
117  int m_contig, n_contig;
118 
119  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
120  {
121  // Initialize dimensions assuming no transposition needed during copy.
122  m_contig = m;
123  n_contig = n;
124 
125 /*
126  // Transpose the dimensions of the contiguous matrix, if requested.
127  if ( bl1_does_trans( trans_copy ) )
128  {
129  m_contig = n;
130  n_contig = m;
131  }
132 */
133 
134  // Allocate temporary contiguous storage for the matrix.
135  *a = bl1_zallocm( m_contig, n_contig );
136 
137  // Set the row and column strides for the temporary matrix.
138  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
139 
140  // Initialize the contiguous matrix with the contents of the original.
142  m_contig,
143  n_contig,
144  a_save, a_rs_save, a_cs_save,
145  *a, *a_rs, *a_cs );
146  }
147 }
void bl1_zcopymt(trans1_t trans, int m, int n, dcomplex *a, int a_rs, int a_cs, dcomplex *b, int b_rs, int b_cs)
Definition: bl1_copymt.c:286
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(), bl1_zcopymt(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_zgemm(), bl1_zgemv(), bl1_zger(), bl1_zhemm(), bl1_zsymm(), bl1_ztrmm(), bl1_ztrmmsx(), bl1_ztrsm(), and bl1_ztrsmsx().