libflame  revision_anchor
Functions
bl1_free_saved_contigmr.c File Reference

(r)

Functions

void bl1_sfree_saved_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_dfree_saved_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_cfree_saved_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_zfree_saved_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_cfree_saved_contigmr()

void bl1_cfree_saved_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 
)
60 {
61  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
62  {
63  // Copy the contents of the temporary matrix back to the original.
64  bl1_ccopymr( uplo,
65  m,
66  n,
67  *a, *a_rs, *a_cs,
68  a_save, a_rs_save, a_cs_save );
69 
70  // Free the temporary contiguous storage for the matrix.
71  bl1_cfree( *a );
72 
73  // Restore the original matrix address.
74  *a = a_save;
75 
76  // Restore the original row and column strides.
77  *a_rs = a_rs_save;
78  *a_cs = a_cs_save;
79  }
80 }
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_cfree(scomplex *p)
Definition: bl1_free.c:40

References bl1_ccopymr(), bl1_cfree(), and bl1_is_gen_storage().

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

◆ bl1_dfree_saved_contigmr()

void bl1_dfree_saved_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 
)
37 {
38  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
39  {
40  // Copy the contents of the temporary matrix back to the original.
41  bl1_dcopymr( uplo,
42  m,
43  n,
44  *a, *a_rs, *a_cs,
45  a_save, a_rs_save, a_cs_save );
46 
47  // Free the temporary contiguous storage for the matrix.
48  bl1_dfree( *a );
49 
50  // Restore the original matrix address.
51  *a = a_save;
52 
53  // Restore the original row and column strides.
54  *a_rs = a_rs_save;
55  *a_cs = a_cs_save;
56  }
57 }
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
void bl1_dfree(double *p)
Definition: bl1_free.c:35

References bl1_dcopymr(), bl1_dfree(), and bl1_is_gen_storage().

Referenced by bl1_dsyr2k(), and bl1_dsyrk().

◆ bl1_sfree_saved_contigmr()

void bl1_sfree_saved_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  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
16  {
17  // Copy the contents of the temporary matrix back to the original.
18  bl1_scopymr( uplo,
19  m,
20  n,
21  *a, *a_rs, *a_cs,
22  a_save, a_rs_save, a_cs_save );
23 
24  // Free the temporary contiguous storage for the matrix.
25  bl1_sfree( *a );
26 
27  // Restore the original matrix address.
28  *a = a_save;
29 
30  // Restore the original row and column strides.
31  *a_rs = a_rs_save;
32  *a_cs = a_cs_save;
33  }
34 }
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
void bl1_sfree(float *p)
Definition: bl1_free.c:30

References bl1_is_gen_storage(), bl1_scopymr(), and bl1_sfree().

Referenced by bl1_ssyr2k(), and bl1_ssyrk().

◆ bl1_zfree_saved_contigmr()

void bl1_zfree_saved_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 
)
83 {
84  if ( bl1_is_gen_storage( a_rs_save, a_cs_save ) )
85  {
86  // Copy the contents of the temporary matrix back to the original.
87  bl1_zcopymr( uplo,
88  m,
89  n,
90  *a, *a_rs, *a_cs,
91  a_save, a_rs_save, a_cs_save );
92 
93  // Free the temporary contiguous storage for the matrix.
94  bl1_zfree( *a );
95 
96  // Restore the original matrix address.
97  *a = a_save;
98 
99  // Restore the original row and column strides.
100  *a_rs = a_rs_save;
101  *a_cs = a_cs_save;
102  }
103 }
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
void bl1_zfree(dcomplex *p)
Definition: bl1_free.c:45

References bl1_is_gen_storage(), bl1_zcopymr(), and bl1_zfree().

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