void bli_syr2k4m_entry( obj_t* alpha, obj_t* a, obj_t* b, obj_t* beta, obj_t* c ) { bli_syr2k_front( alpha, a, b, beta, c, gemm4m_cntl ); }
// // Define object-based interface. // void bli_syr2k4m( obj_t* alpha, obj_t* a, obj_t* b, obj_t* beta, obj_t* c ) { herk_t* cntl; // Since 4m only applies to the complex domain, we use the regular // control tree for real domain cases. if ( bli_obj_is_complex( *c ) ) cntl = herk4m_cntl; else cntl = herk_cntl; bli_syr2k_front( alpha, a, b, beta, c, cntl ); }
void bli_syr2k( obj_t* alpha, obj_t* a, obj_t* b, obj_t* beta, obj_t* c ) { num_t dt = bli_obj_datatype( *c ); // If an induced method is available (ie: implemented and enabled), // call it instead. if ( bli_syr2kind_has_avail( dt ) ) { syr2k_fp_t func = bli_syr2kind_get_avail( dt ); return func( alpha, a, b, beta, c ); } bli_syr2k_front( alpha, a, b, beta, c, gemm_cntl ); }