FLA_Axpys_external.c File Reference

(r)


Functions

FLA_Error FLA_Axpys_external (FLA_Obj alpha0, FLA_Obj alpha1, FLA_Obj A, FLA_Obj beta, FLA_Obj B)
void FLA_F2C() fla_axpys_external_f (F_INT *alpha0, F_INT *alpha1, F_INT *A, F_INT *beta, F_INT *B, F_INT *IERROR)

Function Documentation

FLA_Error FLA_Axpys_external ( FLA_Obj  alpha0,
FLA_Obj  alpha1,
FLA_Obj  A,
FLA_Obj  beta,
FLA_Obj  B 
)

References FLA_Axpy_external(), FLA_Axpys_check(), FLA_Check_error_level(), FLA_Copy_external(), FLA_Copyt_external(), FLA_Obj_create(), FLA_Obj_create_conf_to(), FLA_Obj_datatype(), FLA_Obj_equals(), FLA_Obj_free(), FLA_Obj_is_vector(), FLA_ONE, FLA_Scal_external(), and FLA_ZERO.

Referenced by FLA_Axpys(), fla_axpys_external_f(), FLA_Hemm_ll_unb_var1(), FLA_Hemm_ll_unb_var2(), FLA_Hemm_ll_unb_var3(), FLA_Hemm_ll_unb_var4(), FLA_Hemm_ll_unb_var5(), FLA_Hemm_ll_unb_var6(), FLA_Hemm_ll_unb_var7(), FLA_Hemm_ll_unb_var8(), FLA_Hemm_lu_unb_var1(), FLA_Hemm_lu_unb_var2(), FLA_Hemm_lu_unb_var3(), FLA_Hemm_lu_unb_var4(), FLA_Hemm_lu_unb_var5(), FLA_Hemm_lu_unb_var6(), FLA_Hemm_lu_unb_var7(), FLA_Hemm_lu_unb_var8(), FLA_Hemm_rl_unb_var1(), FLA_Hemm_rl_unb_var2(), FLA_Hemm_rl_unb_var3(), FLA_Hemm_rl_unb_var4(), FLA_Hemm_rl_unb_var5(), FLA_Hemm_rl_unb_var6(), FLA_Hemm_rl_unb_var7(), FLA_Hemm_rl_unb_var8(), FLA_Hemm_ru_unb_var1(), FLA_Hemm_ru_unb_var2(), FLA_Hemm_ru_unb_var3(), FLA_Hemm_ru_unb_var4(), FLA_Hemm_ru_unb_var5(), FLA_Hemm_ru_unb_var6(), FLA_Hemm_ru_unb_var7(), FLA_Hemm_ru_unb_var8(), FLA_Symm_ll_unb_var1(), FLA_Symm_ll_unb_var2(), FLA_Symm_ll_unb_var3(), FLA_Symm_ll_unb_var4(), FLA_Symm_ll_unb_var5(), FLA_Symm_ll_unb_var6(), FLA_Symm_ll_unb_var7(), FLA_Symm_ll_unb_var8(), FLA_Symm_lu_unb_var1(), FLA_Symm_lu_unb_var2(), FLA_Symm_lu_unb_var3(), FLA_Symm_lu_unb_var4(), FLA_Symm_lu_unb_var5(), FLA_Symm_lu_unb_var6(), FLA_Symm_lu_unb_var7(), FLA_Symm_lu_unb_var8(), FLA_Symm_rl_unb_var1(), FLA_Symm_rl_unb_var2(), FLA_Symm_rl_unb_var3(), FLA_Symm_rl_unb_var4(), FLA_Symm_rl_unb_var5(), FLA_Symm_rl_unb_var6(), FLA_Symm_rl_unb_var7(), FLA_Symm_rl_unb_var8(), FLA_Symm_ru_unb_var1(), FLA_Symm_ru_unb_var2(), FLA_Symm_ru_unb_var3(), FLA_Symm_ru_unb_var4(), FLA_Symm_ru_unb_var5(), FLA_Symm_ru_unb_var6(), FLA_Symm_ru_unb_var7(), and FLA_Symm_ru_unb_var8().

00036 {
00037   FLA_Obj   A_copy;
00038   FLA_Obj   alpha_copy;
00039 
00040   if ( FLA_Check_error_level() == FLA_FULL_ERROR_CHECKING )
00041     FLA_Axpys_check( alpha0, alpha1, A, beta, B );
00042 
00043   if ( FLA_Obj_equals( beta, FLA_ONE ) == FALSE  )
00044     FLA_Scal_external( beta, B );
00045 
00046   if ( FLA_Obj_equals( alpha0, FLA_ZERO ) || 
00047        FLA_Obj_equals( alpha1, FLA_ZERO ) )
00048     return FLA_SUCCESS;
00049 
00050   if ( FLA_Obj_is_vector( A ) )
00051   {
00052     FLA_Obj_create( FLA_Obj_datatype( A ), 1, 1, &alpha_copy );
00053 
00054     FLA_Copy_external( alpha1, alpha_copy );
00055 
00056     FLA_Scal_external( alpha0, alpha_copy );
00057 
00058     FLA_Axpy_external( alpha_copy, A, B );
00059 
00060     FLA_Obj_free( &alpha_copy );
00061   }
00062   else
00063   {
00064     FLA_Obj_create_conf_to( FLA_NO_TRANSPOSE, A, &A_copy );
00065 
00066     FLA_Copyt_external( FLA_NO_TRANSPOSE, A, A_copy );
00067 
00068     FLA_Scal_external( alpha0, A_copy );
00069 
00070     FLA_Axpy_external( alpha1, A_copy, B );
00071 
00072     FLA_Obj_free( &A_copy );
00073   }
00074 
00075   return FLA_SUCCESS;
00076 }

void FLA_F2C() fla_axpys_external_f ( F_INT *  alpha0,
F_INT *  alpha1,
F_INT *  A,
F_INT *  beta,
F_INT *  B,
F_INT *  IERROR 
)

References FLA_Axpys_external().

00080 {
00081   *IERROR = FLA_Axpys_external( *( ( FLA_Obj * ) alpha0 ),
00082                                 *( ( FLA_Obj * ) alpha1 ),
00083                                 *( ( FLA_Obj * ) A      ),
00084                                 *( ( FLA_Obj * ) beta   ),
00085                                 *( ( FLA_Obj * ) B      ) );
00086 }


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