/[escript]/trunk/paso/src/SchurComplement.cpp
ViewVC logotype

Diff of /trunk/paso/src/SchurComplement.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4797 by caltinay, Mon Mar 24 05:42:42 2014 UTC revision 4803 by caltinay, Wed Mar 26 06:52:28 2014 UTC
# Line 59  void Paso_Solver_updateIncompleteSchurCo Line 59  void Paso_Solver_updateIncompleteSchurCo
59               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {
60                  col_FC=A_FC->pattern->index[iPtr_FC];                  col_FC=A_FC->pattern->index[iPtr_FC];
61                  /* is (i,col_FC) in the shape of A_CC ? */                  /* is (i,col_FC) in the shape of A_CC ? */
62                 where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);                 where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),paso::comparIndex);
63                  if (where_p!=NULL) {                  if (where_p!=NULL) {
64                      if (set_A) {                      if (set_A) {
65                         A11=A_CF->val[iPtr_CF]*invA_FF[col_CF];                         A11=A_CF->val[iPtr_CF]*invA_FF[col_CF];
# Line 83  void Paso_Solver_updateIncompleteSchurCo Line 83  void Paso_Solver_updateIncompleteSchurCo
83               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {
84                  col_FC=A_FC->pattern->index[iPtr_FC];                  col_FC=A_FC->pattern->index[iPtr_FC];
85                  /* is (i,col_FC) in the shape of A_CC ? */                  /* is (i,col_FC) in the shape of A_CC ? */
86                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),paso::comparIndex);
87                  if (where_p!=NULL) {                  if (where_p!=NULL) {
88                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);
89                      /* this calculates A_CF*invA_FF(i,col_CF) */                      /* this calculates A_CF*invA_FF(i,col_CF) */
# Line 133  void Paso_Solver_updateIncompleteSchurCo Line 133  void Paso_Solver_updateIncompleteSchurCo
133               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {               for (iPtr_FC = A_FC->pattern->ptr[col_CF]; iPtr_FC < A_FC->pattern->ptr[col_CF + 1]; ++iPtr_FC) {
134                  col_FC=A_FC->pattern->index[iPtr_FC];                  col_FC=A_FC->pattern->index[iPtr_FC];
135                  /* is (i,col_FC) in the shape of A_CC ? */                  /* is (i,col_FC) in the shape of A_CC ? */
136                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),Paso_comparIndex);                  where_p=(index_t*)bsearch(&col_FC,index_CC,index_CC_len,sizeof(index_t),paso::comparIndex);
137                  if (where_p!=NULL) {                  if (where_p!=NULL) {
138                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);                      iPtr_CC_2=iPtr_CC+(index_t)(where_p-index_CC);
139                      /* this calculates A_CF*invA_FF(i,col_CF) */                      /* this calculates A_CF*invA_FF(i,col_CF) */

Legend:
Removed from v.4797  
changed lines
  Added in v.4803

  ViewVC Help
Powered by ViewVC 1.1.26