예제 #1
0
void bli_trsv_int_check( obj_t*  alpha,
                         obj_t*  a,
                         obj_t*  x,
                         trsv_t* cntl )
{
	err_t e_val;

	// Check basic properties of the operation.

	bli_trsv_basic_check( alpha, a, x );

	// Check object structure

	e_val = bli_check_triangular_object( a );
	bli_check_error_code( 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( x );
	bli_check_error_code( e_val );

	// Check control tree pointer

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}
예제 #2
0
void bli_ger_int_check( obj_t*  alpha,
                        obj_t*  x,
                        obj_t*  y,
                        obj_t*  a,
                        cntx_t* cntx,
                        ger_t*  cntl )
{
	err_t e_val;

	// Check object datatypes.

	bli_ger_basic_check( alpha, x, y, a );

	// 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( x );
	bli_check_error_code( e_val );

	e_val = bli_check_object_buffer( y );
	bli_check_error_code( e_val );

	e_val = bli_check_object_buffer( a );
	bli_check_error_code( e_val );

	// Check control tree pointer

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}
예제 #3
0
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 );
}
예제 #4
0
void bli_her2_int_check( conj_t   conjh,
                         obj_t*   alpha,
                         obj_t*   x,
                         obj_t*   y,
                         obj_t*   c,
                         her2_t*  cntl )
{
	err_t e_val;

	// Check basic properties of the operation.

	bli_her2_basic_check( conjh, alpha, x, y, c );

	// Check matrix structure.

	if ( bli_is_conj( conjh ) )
	{
		e_val = bli_check_hermitian_object( c );
		bli_check_error_code( e_val );
	}
	else
	{
		e_val = bli_check_symmetric_object( c );
		bli_check_error_code( e_val );
	}

	// Check control tree pointer

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}
예제 #5
0
void bli_hemv_int_check( conj_t  conjh,
                         obj_t*  alpha,
                         obj_t*  a,
                         obj_t*  x,
                         obj_t*  beta,
                         obj_t*  y,
                         hemv_t* cntl )
{
	err_t e_val;

	// Check basic properties of the operation.

	bli_hemv_basic_check( alpha, a, x, beta, y );

	// Check matrix structure.

	if ( bli_is_conj( conjh ) )
	{
		e_val = bli_check_hermitian_object( a );
		bli_check_error_code( e_val );
	}
	else
	{
		e_val = bli_check_symmetric_object( a );
		bli_check_error_code( 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( x );
	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( y );
	bli_check_error_code( e_val );

	// Check control tree pointer.

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}
예제 #6
0
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 );
}
예제 #7
0
void bli_gemv_int_check( obj_t*  alpha,
                         obj_t*  a,
                         obj_t*  x,
                         obj_t*  beta,
                         obj_t*  y,
                         gemv_t* cntl )
{
	err_t e_val;

	// Check basic properties of the operation.

	bli_gemv_basic_check( alpha, a, x, beta, y );

	// Check control tree pointer.

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}
예제 #8
0
void bli_hemm_int_check( side_t  side,
                         obj_t*  alpha,
                         obj_t*  a,
                         obj_t*  b,
                         obj_t*  beta,
                         obj_t*  c,
                         gemm_t* cntl )
{
	err_t e_val;

	// Check basic properties of the operation.

	bli_hemm_basic_check( side, alpha, a, b, beta, c );

	// Check control tree pointer.

	e_val = bli_check_valid_cntl( ( void* )cntl );
	bli_check_error_code( e_val );
}