00001
00002
00003
00004 #include "FTables.h"
00005
00006
00007
00008
00009
00010 #define ARGS_fydot integer*,double *,double *,double *
00011 typedef void (*fydotf)(ARGS_fydot);
00012
00013 #define ARGS_fjac integer*,double *,double *,integer*,integer*,double*,integer*
00014 typedef void (*fjacf)(ARGS_fjac);
00015
00016
00017 extern void C2F(fex)(ARGS_fydot);
00018 extern void C2F(fex2)(ARGS_fydot);
00019 extern void C2F(fex3)(ARGS_fydot);
00020 extern void C2F(fexab)(ARGS_fydot);
00021 extern void C2F(loren)(ARGS_fydot);
00022 extern void C2F(arnol)(ARGS_fydot);
00023 extern void C2F(bcomp)(ARGS_fydot);
00024 extern void C2F(lcomp)(ARGS_fydot);
00025 void C2F(fydot)(ARGS_fydot);
00026 void C2F(setfydot)(char *name, int *rep);
00027
00028 FTAB FTab_fydot[] ={
00029 {"arnol", (voidf) C2F(arnol)},
00030 {"bcomp", (voidf) C2F(bcomp)},
00031 {"fex", (voidf) C2F(fex)},
00032 {"fex2", (voidf) C2F(fex2)},
00033 {"fex3", (voidf) C2F(fex3)},
00034 {"fexab", (voidf) C2F(fexab)},
00035 {"lcomp", (voidf) C2F(lcomp)},
00036 {"loren", (voidf) C2F(loren)},
00037 {(char *) 0, (voidf) 0}};
00038
00039
00040 extern void C2F(jex)(ARGS_fjac);
00041 void C2F(fjac)(ARGS_fjac);
00042 void C2F(setfjac)(char *name, int *rep);
00043 FTAB FTab_fjac[] =
00044 {
00045 {"jex", (voidf) C2F(jex)},
00046 {(char *) 0, (voidf) 0}
00047 };
00048
00049
00050
00051
00052
00055 static fydotf fydotfonc ;
00056
00059 void C2F(fydot)(integer *n, double *t, double *y, double *ydot)
00060 {
00061 (*fydotfonc)(n,t,y,ydot);
00062 }
00063
00066 void C2F(setfydot)(char *name, int *rep)
00067 {
00068 fydotfonc = (fydotf) SetFunction(name,rep,FTab_fydot);
00069 }
00070
00071
00074 static fjacf fjacfonc ;
00075
00078 void C2F(fjac)(integer *neq, double *t, double *y, integer *ml, integer *mu, double *pd, integer *nrpd)
00079 {
00080 (*fjacfonc)(neq, t, y, ml, mu, pd, nrpd);
00081 }
00082
00085 void C2F(setfjac)(char *name, int *rep)
00086 {
00087 fjacfonc = (fjacf) SetFunction(name,rep,FTab_fjac);
00088 }