libflame revision_anchor
Functions
bli_free_contigm.c File Reference

(r)

Functions

void bli_sfree_contigm (float *a_save, int a_rs_save, int a_cs_save, float **a, int *a_rs, int *a_cs)
void bli_dfree_contigm (double *a_save, int a_rs_save, int a_cs_save, double **a, int *a_rs, int *a_cs)
void bli_cfree_contigm (scomplex *a_save, int a_rs_save, int a_cs_save, scomplex **a, int *a_rs, int *a_cs)
void bli_zfree_contigm (dcomplex *a_save, int a_rs_save, int a_cs_save, dcomplex **a, int *a_rs, int *a_cs)

Function Documentation

void bli_cfree_contigm ( scomplex a_save,
int  a_rs_save,
int  a_cs_save,
scomplex **  a,
int *  a_rs,
int *  a_cs 
)

References bli_cfree(), and bli_is_gen_storage().

Referenced by bli_cgemm(), bli_cgemv(), bli_chemm(), bli_chemv(), bli_cher2k(), bli_cherk(), bli_csymm(), bli_csymv(), bli_csyr2k(), bli_csyrk(), bli_ctrmm(), bli_ctrmmsx(), bli_ctrmv(), bli_ctrmvsx(), bli_ctrsm(), bli_ctrsmsx(), bli_ctrsv(), and bli_ctrsvsx().

{
    if ( bli_is_gen_storage( a_rs_save, a_cs_save ) )
    {
        // Free the temporary contiguous storage for the matrix.
        bli_cfree( *a );

        // Restore the original matrix address.
        *a = a_save;

        // Restore the original row and column strides.
        *a_rs = a_rs_save;
        *a_cs = a_cs_save;
    }
}
void bli_dfree_contigm ( double *  a_save,
int  a_rs_save,
int  a_cs_save,
double **  a,
int *  a_rs,
int *  a_cs 
)

References bli_dfree(), and bli_is_gen_storage().

Referenced by bli_dgemm(), bli_dgemv(), bli_dsymm(), bli_dsymv(), bli_dsyr2k(), bli_dsyrk(), bli_dtrmm(), bli_dtrmmsx(), bli_dtrmv(), bli_dtrmvsx(), bli_dtrsm(), bli_dtrsmsx(), bli_dtrsv(), and bli_dtrsvsx().

{
    if ( bli_is_gen_storage( a_rs_save, a_cs_save ) )
    {
        // Free the temporary contiguous storage for the matrix.
        bli_dfree( *a );

        // Restore the original matrix address.
        *a = a_save;

        // Restore the original row and column strides.
        *a_rs = a_rs_save;
        *a_cs = a_cs_save;
    }
}
void bli_sfree_contigm ( float *  a_save,
int  a_rs_save,
int  a_cs_save,
float **  a,
int *  a_rs,
int *  a_cs 
)

References bli_is_gen_storage(), and bli_sfree().

Referenced by bli_sgemm(), bli_sgemv(), bli_ssymm(), bli_ssymv(), bli_ssyr2k(), bli_ssyrk(), bli_strmm(), bli_strmmsx(), bli_strmv(), bli_strmvsx(), bli_strsm(), bli_strsmsx(), bli_strsv(), and bli_strsvsx().

{
    if ( bli_is_gen_storage( a_rs_save, a_cs_save ) )
    {
        // Free the temporary contiguous storage for the matrix.
        bli_sfree( *a );

        // Restore the original matrix address.
        *a = a_save;

        // Restore the original row and column strides.
        *a_rs = a_rs_save;
        *a_cs = a_cs_save;
    }
}
void bli_zfree_contigm ( dcomplex a_save,
int  a_rs_save,
int  a_cs_save,
dcomplex **  a,
int *  a_rs,
int *  a_cs 
)

References bli_is_gen_storage(), and bli_zfree().

Referenced by bli_zgemm(), bli_zgemv(), bli_zhemm(), bli_zhemv(), bli_zher2k(), bli_zherk(), bli_zsymm(), bli_zsymv(), bli_zsyr2k(), bli_zsyrk(), bli_ztrmm(), bli_ztrmmsx(), bli_ztrmv(), bli_ztrmvsx(), bli_ztrsm(), bli_ztrsmsx(), bli_ztrsv(), and bli_ztrsvsx().

{
    if ( bli_is_gen_storage( a_rs_save, a_cs_save ) )
    {
        // Free the temporary contiguous storage for the matrix.
        bli_zfree( *a );

        // Restore the original matrix address.
        *a = a_save;

        // Restore the original row and column strides.
        *a_rs = a_rs_save;
        *a_cs = a_cs_save;
    }
}