diff --git a/amgprec/impl/aggregator/amg_c_soc1_map_bld.F90 b/amgprec/impl/aggregator/amg_c_soc1_map_bld.F90 index 53892ebc..24720675 100644 --- a/amgprec/impl/aggregator/amg_c_soc1_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_c_soc1_map_bld.F90 @@ -275,7 +275,8 @@ subroutine amg_c_soc1_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in disjoint = all(ilaggr(icol(1:ip)) == -(nr+1)).or.(ip==0) if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_c_soc2_map_bld.F90 b/amgprec/impl/aggregator/amg_c_soc2_map_bld.F90 index b250e434..57ed8893 100644 --- a/amgprec/impl/aggregator/amg_c_soc2_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_c_soc2_map_bld.F90 @@ -309,7 +309,8 @@ subroutine amg_c_soc2_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in ! if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_d_soc1_map_bld.F90 b/amgprec/impl/aggregator/amg_d_soc1_map_bld.F90 index fba80c10..200d630c 100644 --- a/amgprec/impl/aggregator/amg_d_soc1_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_d_soc1_map_bld.F90 @@ -275,7 +275,8 @@ subroutine amg_d_soc1_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in disjoint = all(ilaggr(icol(1:ip)) == -(nr+1)).or.(ip==0) if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_d_soc2_map_bld.F90 b/amgprec/impl/aggregator/amg_d_soc2_map_bld.F90 index 345cd1ad..e2b7ea0c 100644 --- a/amgprec/impl/aggregator/amg_d_soc2_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_d_soc2_map_bld.F90 @@ -309,7 +309,8 @@ subroutine amg_d_soc2_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in ! if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_s_soc1_map_bld.F90 b/amgprec/impl/aggregator/amg_s_soc1_map_bld.F90 index 857c6ff3..0f8bb7dd 100644 --- a/amgprec/impl/aggregator/amg_s_soc1_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_s_soc1_map_bld.F90 @@ -275,7 +275,8 @@ subroutine amg_s_soc1_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in disjoint = all(ilaggr(icol(1:ip)) == -(nr+1)).or.(ip==0) if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_s_soc2_map_bld.F90 b/amgprec/impl/aggregator/amg_s_soc2_map_bld.F90 index ef7f5707..99047468 100644 --- a/amgprec/impl/aggregator/amg_s_soc2_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_s_soc2_map_bld.F90 @@ -309,7 +309,8 @@ subroutine amg_s_soc2_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in ! if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_z_soc1_map_bld.F90 b/amgprec/impl/aggregator/amg_z_soc1_map_bld.F90 index 50fe70a2..7961921a 100644 --- a/amgprec/impl/aggregator/amg_z_soc1_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_z_soc1_map_bld.F90 @@ -275,7 +275,8 @@ subroutine amg_z_soc1_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in disjoint = all(ilaggr(icol(1:ip)) == -(nr+1)).or.(ip==0) if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info) diff --git a/amgprec/impl/aggregator/amg_z_soc2_map_bld.F90 b/amgprec/impl/aggregator/amg_z_soc2_map_bld.F90 index c6ac226e..35d02fd0 100644 --- a/amgprec/impl/aggregator/amg_z_soc2_map_bld.F90 +++ b/amgprec/impl/aggregator/amg_z_soc2_map_bld.F90 @@ -309,7 +309,8 @@ subroutine amg_z_soc2_map_bld(iorder,theta,clean_zeros,a,desc_a,nlaggr,ilaggr,in ! if (disjoint) then locnaggr(kk) = locnaggr(kk) + 1 - itmp = (bnds(kk)-1+locnaggr(kk))*nths+kk + itmp = (bnds(kk)-1+locnaggr(kk)) !be careful about overflow + itmp = itmp*nths+kk if (itmp < (bnds(kk)-1+locnaggr(kk))) then !$omp atomic update info = max(12345678,info)