Example #1
0
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 );
}
Example #2
0
//
// 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 );
}
Example #3
0
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 );
}