void bli_herk_int_check( obj_t* alpha, obj_t* a, obj_t* ah, obj_t* beta, obj_t* c, gemm_t* cntl ) { err_t e_val; // Check object buffers (for non-NULLness). e_val = bli_check_object_buffer( alpha ); bli_check_error_code( e_val ); e_val = bli_check_object_buffer( a ); bli_check_error_code( e_val ); e_val = bli_check_object_buffer( ah ); bli_check_error_code( e_val ); e_val = bli_check_object_buffer( beta ); bli_check_error_code( e_val ); e_val = bli_check_object_buffer( c ); bli_check_error_code( e_val ); // Check basic properties of the operation. bli_herk_basic_check( alpha, a, ah, beta, c ); // Check control tree pointer. e_val = bli_check_valid_cntl( ( void* )cntl ); bli_check_error_code( e_val ); }
void bli_herk_check( obj_t* alpha, obj_t* a, obj_t* beta, obj_t* c ) { err_t e_val; obj_t ah; // Alias A to A^H so we can perform dimension checks. bli_obj_alias_with_trans( BLIS_CONJ_TRANSPOSE, *a, ah ); // Check basic properties of the operation. bli_herk_basic_check( alpha, a, &ah, beta, c ); // Check for real-valued alpha and beta. e_val = bli_check_real_valued_object( alpha ); bli_check_error_code( e_val ); e_val = bli_check_real_valued_object( beta ); bli_check_error_code( e_val ); // Check matrix squareness. e_val = bli_check_square_object( c ); bli_check_error_code( e_val ); // Check matrix structure. e_val = bli_check_hermitian_object( c ); bli_check_error_code( e_val ); }
void bli_herk_int_check( obj_t* alpha, obj_t* a, obj_t* ah, obj_t* beta, obj_t* c, herk_t* cntl ) { err_t e_val; // Check basic properties of the operation. bli_herk_basic_check( alpha, a, ah, beta, c ); // Check control tree pointer. e_val = bli_check_valid_cntl( ( void* )cntl ); bli_check_error_code( e_val ); }