/[ascend]/trunk/base/generic/solver/ida.c
ViewVC logotype

Diff of /trunk/base/generic/solver/ida.c

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

revision 967 by johnpye, Tue Dec 12 13:36:52 2006 UTC revision 968 by johnpye, Mon Dec 18 05:49:00 2006 UTC
# Line 574  int integrator_ida_fex(realtype tt, N_Ve Line 574  int integrator_ida_fex(realtype tt, N_Ve
574      is_error = 0;      is_error = 0;
575      relptr = enginedata->rellist;      relptr = enginedata->rellist;
576    
577      Asc_SignalHandlerPush(SIGFPE,SIG_IGN);      if(enginedata->safeeval){
578            Asc_SignalHandlerPush(SIGFPE,SIG_IGN);
579        }else{
580            ERROR_REPORTER_HERE(ASC_PROG_ERR,"SETTING TO CATCH SIGFPE...");
581            Asc_SignalHandlerPushDefault(SIGFPE);
582        }
583    
584      if (setjmp(g_fpe_env)==0) {      if (setjmp(g_fpe_env)==0) {
585          for(i=0, relptr = enginedata->rellist;          for(i=0, relptr = enginedata->rellist;
586                  i< enginedata->nrels && relptr != NULL;                  i< enginedata->nrels && relptr != NULL;
# Line 589  int integrator_ida_fex(realtype tt, N_Ve Line 595  int integrator_ida_fex(realtype tt, N_Ve
595                  ASC_FREE(relname);                  ASC_FREE(relname);
596                  /* presumable some output already made? */                  /* presumable some output already made? */
597                  is_error = 1;                  is_error = 1;
598                }else{
599                    CONSOLE_DEBUG("Calc OK");
600              }              }
601          }          }
602      }else{      }else{
# Line 597  int integrator_ida_fex(realtype tt, N_Ve Line 605  int integrator_ida_fex(realtype tt, N_Ve
605          ASC_FREE(relname);          ASC_FREE(relname);
606          is_error = 1;          is_error = 1;
607      }      }
608      Asc_SignalHandlerPop(SIGFPE,SIG_IGN);  
609        if(enginedata->safeeval){
610            Asc_SignalHandlerPop(SIGFPE,SIG_IGN);
611        }else{
612            Asc_SignalHandlerPopDefault(SIGFPE);
613        }
614    
615  #ifdef FEX_DEBUG  #ifdef FEX_DEBUG
616      /* output residuals to console */      /* output residuals to console */
# Line 826  int integrator_ida_jvex(realtype tt, N_V Line 839  int integrator_ida_jvex(realtype tt, N_V
839      filter.matchbits = VAR_SVAR;      filter.matchbits = VAR_SVAR;
840      filter.matchvalue = VAR_SVAR;      filter.matchvalue = VAR_SVAR;
841    
842      Asc_SignalHandlerPush(SIGFPE,SIG_IGN);      Asc_SignalHandlerPushDefault(SIGFPE);
843      if (setjmp(g_fpe_env)==0) {      if (setjmp(g_fpe_env)==0) {
844          for(i=0, relptr = enginedata->rellist;          for(i=0, relptr = enginedata->rellist;
845                  i< enginedata->nrels && relptr != NULL;                  i< enginedata->nrels && relptr != NULL;
# Line 902  int integrator_ida_jvex(realtype tt, N_V Line 915  int integrator_ida_jvex(realtype tt, N_V
915          ASC_FREE(relname);          ASC_FREE(relname);
916          is_error = 1;          is_error = 1;
917      }      }
918      Asc_SignalHandlerPop(SIGFPE,SIG_IGN);      Asc_SignalHandlerPopDefault(SIGFPE);
919    
920      if(is_error){      if(is_error){
921          CONSOLE_DEBUG("SOME ERRORS FOUND IN EVALUATION");          CONSOLE_DEBUG("SOME ERRORS FOUND IN EVALUATION");

Legend:
Removed from v.967  
changed lines
  Added in v.968

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22