dassl.c

Go to the documentation of this file.
00001 /* C driver over ddassl to handle longjump from xerhlt*/
00002 
00003 #include <setjmp.h>
00004 #include "machine.h"
00005 extern jmp_buf slatec_jmp_env; 
00006 
00007 extern void C2F(ddassl)(void *res, int *neq, double *t, double *y, double *yprime, 
00008                         double *tout, int *info, double *rtol, double *atol, 
00009                         int *idid, double *rwork, int *lrw, int *iwork, int *liw, 
00010                         double *rpar, int *ipar, void *jac);
00011 
00012 
00013 void  C2F(dassl)(void *res, int *neq, double *t, double *y, double *yprime, double *tout, 
00014             int *info, double *rtol, double *atol, int *idid, double *rwork, 
00015                                  int *lrw, int *iwork, int *liw, double *rpar, int *ipar, void *jac);
00016 
00017 void  C2F(dassl)(void *res, int *neq, double *t, double *y, double *yprime, double *tout, 
00018             int *info, double *rtol, double *atol, int *idid, double *rwork, 
00019             int *lrw, int *iwork, int *liw, double *rpar, int *ipar, void *jac) 
00020 {
00021   int itemp[12],i;
00022   if (setjmp(slatec_jmp_env)) return;
00023   /* Nest instruction is a patch for sun solaris 5.8, 
00024   without this trick the call to ddassl hangs Scilab */
00025   for (i=0;i<11;i++) itemp[i]=info[i];
00026   C2F(ddassl)(res, neq, t, y, yprime, tout, itemp, rtol, atol, idid, rwork, 
00027               lrw, iwork, liw, rpar, ipar, jac);
00028 }
00029 

Generated on Sun Mar 4 15:03:48 2007 for Scilab [trunk] by  doxygen 1.5.1