mld2p4-2:

mlprec/impl/mld_cslud_interface.c
 mlprec/impl/mld_dslud_interface.c
 mlprec/impl/mld_sslud_interface.c
 mlprec/impl/mld_zslud_interface.c
 mlprec/mld_c_sludist_solver.F90
 mlprec/mld_d_sludist_solver.F90
 mlprec/mld_s_sludist_solver.F90
 mlprec/mld_z_sludist_solver.F90

Fixed silly mistake in SLUDist_apply.
Prepared for SLUDIST_3 vs SLUDIST_4
stopcriterion
Salvatore Filippone 9 years ago
parent 4d5a921205
commit fa351e777d

@ -170,7 +170,14 @@ int mld_csludist_fact(int n, int nl, int nnzl, int ffstr,
ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t)); ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t));
LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t)); LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t));
ScalePermstructInit(n,n, ScalePermstruct); ScalePermstructInit(n,n, ScalePermstruct);
#if defined(SLUD_VERSION_4)
LUstructInit(n, LUstruct);
#elif defined(SLUD_VERSION_3)
LUstructInit(n,n, LUstruct); LUstructInit(n,n, LUstruct);
#else
choke_on_me;
#endif
/* Set the default input options. */ /* Set the default input options. */
set_default_options_dist(&options); set_default_options_dist(&options);

@ -157,7 +157,13 @@ int mld_dsludist_fact(int n, int nl, int nnzl, int ffstr,
ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t)); ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t));
LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t)); LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t));
ScalePermstructInit(n,n, ScalePermstruct); ScalePermstructInit(n,n, ScalePermstruct);
#if defined(SLUD_VERSION_4)
LUstructInit(n, LUstruct);
#elif defined(SLUD_VERSION_3)
LUstructInit(n,n, LUstruct); LUstructInit(n,n, LUstruct);
#else
choke_on_me;
#endif
/* Set the default input options. */ /* Set the default input options. */
set_default_options_dist(&options); set_default_options_dist(&options);

@ -162,7 +162,14 @@ int mld_ssludist_fact(int n, int nl, int nnzl, int ffstr,
ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t)); ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t));
LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t)); LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t));
ScalePermstructInit(n,n, ScalePermstruct); ScalePermstructInit(n,n, ScalePermstruct);
#if defined(SLUD_VERSION_4)
LUstructInit(n, LUstruct);
#elif defined(SLUD_VERSION_3)
LUstructInit(n,n, LUstruct); LUstructInit(n,n, LUstruct);
#else
choke_on_me;
#endif
/* Set the default input options. */ /* Set the default input options. */
set_default_options_dist(&options); set_default_options_dist(&options);

@ -164,7 +164,14 @@ int mld_zsludist_fact(int n, int nl, int nnzl, int ffstr,
ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t)); ScalePermstruct = (ScalePermstruct_t *) SUPERLU_MALLOC(sizeof(ScalePermstruct_t));
LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t)); LUstruct = (LUstruct_t *) SUPERLU_MALLOC(sizeof(LUstruct_t));
ScalePermstructInit(n,n, ScalePermstruct); ScalePermstructInit(n,n, ScalePermstruct);
#if defined(SLUD_VERSION_4)
LUstructInit(n, LUstruct);
#elif defined(SLUD_VERSION_3)
LUstructInit(n,n, LUstruct); LUstructInit(n,n, LUstruct);
#else
choke_on_me;
#endif
/* Set the default input options. */ /* Set the default input options. */
set_default_options_dist(&options); set_default_options_dist(&options);

@ -159,6 +159,9 @@ contains
end if end if
endif endif
if (info == psb_success_)&
& call psb_geaxpby(cone,x,czero,ww,desc_data,info)
select case(trans_) select case(trans_)
case('N') case('N')
info = mld_csludist_solve(0,n_row,1,ww,n_row,sv%lufactors) info = mld_csludist_solve(0,n_row,1,ww,n_row,sv%lufactors)

@ -159,6 +159,9 @@ contains
end if end if
endif endif
if (info == psb_success_)&
& call psb_geaxpby(done,x,dzero,ww,desc_data,info)
select case(trans_) select case(trans_)
case('N') case('N')
info = mld_dsludist_solve(0,n_row,1,ww,n_row,sv%lufactors) info = mld_dsludist_solve(0,n_row,1,ww,n_row,sv%lufactors)

@ -159,6 +159,9 @@ contains
end if end if
endif endif
if (info == psb_success_)&
& call psb_geaxpby(sone,x,szero,ww,desc_data,info)
select case(trans_) select case(trans_)
case('N') case('N')
info = mld_ssludist_solve(0,n_row,1,ww,n_row,sv%lufactors) info = mld_ssludist_solve(0,n_row,1,ww,n_row,sv%lufactors)

@ -159,6 +159,9 @@ contains
end if end if
endif endif
if (info == psb_success_)&
& call psb_geaxpby(zone,x,zzero,ww,desc_data,info)
select case(trans_) select case(trans_)
case('N') case('N')
info = mld_zsludist_solve(0,n_row,1,ww,n_row,sv%lufactors) info = mld_zsludist_solve(0,n_row,1,ww,n_row,sv%lufactors)

Loading…
Cancel
Save