FLA_LU_nopiv_blk_external.c File Reference

(r)


Functions

FLA_Error FLA_LU_nopiv_blk_external (FLA_Obj A)
void FLA_F2C() fla_lu_nopiv_blk_external_f (F_INT *A, F_INT *IERROR)

Function Documentation

FLA_Error FLA_LU_nopiv_blk_external ( FLA_Obj  A  ) 

References cgetnf(), dgetnf(), FLA_Check_error_level(), FLA_LU_nopiv_check(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_ldim(), FLA_Obj_length(), FLA_Obj_width(), sgetnf(), and zgetnf().

Referenced by fla_lu_nopiv_blk_external_f().

00036 {
00037   FLA_Datatype datatype;
00038   int          m_A, n_A, ldim_A;
00039   int          info;
00040 
00041   if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING )
00042     FLA_LU_nopiv_check( A );
00043 
00044   if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
00045 
00046   datatype = FLA_Obj_datatype( A );
00047 
00048   m_A      = FLA_Obj_length( A );
00049   n_A      = FLA_Obj_width( A );
00050   ldim_A   = FLA_Obj_ldim( A );
00051 
00052 
00053   switch( datatype ){
00054 
00055   case FLA_FLOAT:
00056   {
00057     float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
00058 
00059     FLA_C2F( sgetnf )( &m_A,
00060                        &n_A,
00061                        buff_A, &ldim_A,
00062                        &info );
00063 
00064     break;
00065   }
00066 
00067   case FLA_DOUBLE:
00068   {
00069     double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
00070 
00071     FLA_C2F( dgetnf )( &m_A,
00072                        &n_A,
00073                        buff_A, &ldim_A,
00074                        &info );
00075 
00076     break;
00077   } 
00078 
00079   case FLA_COMPLEX:
00080   {
00081     scomplex *buff_A = ( scomplex * ) FLA_COMPLEX_PTR( A );
00082 
00083     FLA_C2F( cgetnf )( &m_A,
00084                        &n_A,
00085                        buff_A, &ldim_A,
00086                        &info );
00087 
00088     break;
00089   } 
00090 
00091   case FLA_DOUBLE_COMPLEX:
00092   {
00093     dcomplex *buff_A = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A );
00094 
00095     FLA_C2F( zgetnf )( &m_A,
00096                        &n_A,
00097                        buff_A, &ldim_A,
00098                        &info );
00099 
00100     break;
00101   } 
00102 
00103   }
00104 
00105   return info;
00106 }

void FLA_F2C() fla_lu_nopiv_blk_external_f ( F_INT *  A,
F_INT *  IERROR 
)

References FLA_LU_nopiv_blk_external().

00110 {
00111   *IERROR = FLA_LU_nopiv_blk_external( *( ( FLA_Obj * ) A ) );
00112 }


Generated on Mon Jul 6 05:45:53 2009 for libflame by  doxygen 1.5.9