libflame revision_anchor
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().