libflame  revision_anchor
Functions
bl1_create_contigmt.c File Reference

(r)

Functions

void bl1_screate_contigmt (trans1_t trans_dims, 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_contigmt (trans1_t trans_dims, 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_contigmt (trans1_t trans_dims, 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_contigmt (trans1_t trans_dims, 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_contigmt()

void bl1_ccreate_contigmt ( trans1_t  trans_dims,
int  m,
int  n,
scomplex a_save,
int  a_rs_save,
int  a_cs_save,
scomplex **  a,
int *  a_rs,
int *  a_cs 
)
90 {
91  int m_contig, n_contig;
92 
93  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
94  {
95  // Transpose the dimensions if requested.
96  if ( bl1_does_trans( trans_dims ) )
97  bl1_swap_ints( m, n );
98 
99  // Initialize dimensions assuming no transposition needed during copy.
100  m_contig = m;
101  n_contig = n;
102 
103 /*
104  // Transpose the dimensions of the contiguous matrix, if requested.
105  if ( bl1_does_trans( trans_copy ) )
106  {
107  m_contig = n;
108  n_contig = m;
109  }
110 */
111 
112  // Allocate temporary contiguous storage for the matrix.
113  *a = bl1_callocm( m_contig, n_contig );
114 
115  // Set the row and column strides for the temporary matrix.
116  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
117 
118  // Initialize the contiguous matrix with the contents of the original.
120  m_contig,
121  n_contig,
122  a_save, a_rs_save, a_cs_save,
123  *a, *a_rs, *a_cs );
124  }
125 }
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
int bl1_does_trans(trans1_t trans)
Definition: bl1_does.c:13
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_does_trans(), bl1_is_gen_storage(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_cgemm(), bl1_cher2k(), bl1_cherk(), bl1_csyr2k(), and bl1_csyrk().

◆ bl1_dcreate_contigmt()

void bl1_dcreate_contigmt ( trans1_t  trans_dims,
int  m,
int  n,
double *  a_save,
int  a_rs_save,
int  a_cs_save,
double **  a,
int *  a_rs,
int *  a_cs 
)
52 {
53  int m_contig, n_contig;
54 
55  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
56  {
57  // Transpose the dimensions if requested.
58  if ( bl1_does_trans( trans_dims ) )
59  bl1_swap_ints( m, n );
60 
61  // Initialize dimensions assuming no transposition needed during copy.
62  m_contig = m;
63  n_contig = n;
64 
65 /*
66  // Transpose the dimensions of the contiguous matrix, if requested.
67  if ( bl1_does_trans( trans_copy ) )
68  {
69  m_contig = n;
70  n_contig = m;
71  }
72 */
73 
74  // Allocate temporary contiguous storage for the matrix.
75  *a = bl1_dallocm( m_contig, n_contig );
76 
77  // Set the row and column strides for the temporary matrix.
78  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
79 
80  // Initialize the contiguous matrix with the contents of the original.
82  m_contig,
83  n_contig,
84  a_save, a_rs_save, a_cs_save,
85  *a, *a_rs, *a_cs );
86  }
87 }
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_does_trans(), bl1_is_gen_storage(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_dgemm(), bl1_dsyr2k(), and bl1_dsyrk().

◆ bl1_screate_contigmt()

void bl1_screate_contigmt ( trans1_t  trans_dims,
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  // Transpose the dimensions if requested.
20  if ( bl1_does_trans( trans_dims ) )
21  bl1_swap_ints( m, n );
22 
23  // Initialize dimensions assuming no transposition needed during copy.
24  m_contig = m;
25  n_contig = n;
26 
27 /*
28  // Transpose the dimensions of the contiguous matrix, if requested.
29  if ( bl1_does_trans( trans_copy ) )
30  {
31  m_contig = n;
32  n_contig = m;
33  }
34 */
35 
36  // Allocate temporary contiguous storage for the matrix.
37  *a = bl1_sallocm( m_contig, n_contig );
38 
39  // Set the row and column strides for the temporary matrix.
40  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
41 
42  // Initialize the contiguous matrix with the contents of the original.
44  m_contig,
45  n_contig,
46  a_save, a_rs_save, a_cs_save,
47  *a, *a_rs, *a_cs );
48  }
49 }
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_does_trans(), bl1_is_gen_storage(), bl1_sallocm(), bl1_scopymt(), bl1_set_contig_strides(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_sgemm(), bl1_ssyr2k(), and bl1_ssyrk().

◆ bl1_zcreate_contigmt()

void bl1_zcreate_contigmt ( trans1_t  trans_dims,
int  m,
int  n,
dcomplex a_save,
int  a_rs_save,
int  a_cs_save,
dcomplex **  a,
int *  a_rs,
int *  a_cs 
)
128 {
129  int m_contig, n_contig;
130 
131  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
132  {
133  // Transpose the dimensions if requested.
134  if ( bl1_does_trans( trans_dims ) )
135  bl1_swap_ints( m, n );
136 
137  // Initialize dimensions assuming no transposition needed during copy.
138  m_contig = m;
139  n_contig = n;
140 
141 /*
142  // Transpose the dimensions of the contiguous matrix, if requested.
143  if ( bl1_does_trans( trans_copy ) )
144  {
145  m_contig = n;
146  n_contig = m;
147  }
148 */
149 
150  // Allocate temporary contiguous storage for the matrix.
151  *a = bl1_zallocm( m_contig, n_contig );
152 
153  // Set the row and column strides for the temporary matrix.
154  bl1_set_contig_strides( m_contig, n_contig, a_rs, a_cs );
155 
156  // Initialize the contiguous matrix with the contents of the original.
158  m_contig,
159  n_contig,
160  a_save, a_rs_save, a_cs_save,
161  *a, *a_rs, *a_cs );
162  }
163 }
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_does_trans(), bl1_is_gen_storage(), bl1_set_contig_strides(), bl1_zallocm(), bl1_zcopymt(), and BLIS1_NO_TRANSPOSE.

Referenced by bl1_zgemm(), bl1_zher2k(), bl1_zherk(), bl1_zsyr2k(), and bl1_zsyrk().