00001
00029 typedef void (*MFFlowFreeData)(void*,MFErrorHandler e);
00030
00034 typedef void (*MFFlowFunction)(double*,double*,double*,void*,MFErrorHandler e);
00035
00051 IMFFlow IMFCreateFlow(int nu, int np, MFFlowFunction F, MFFlowFunction dF, MFFlowFunction dFdp, MFFlowFunction ddF, MFFlowFunction dddF,void *data, MFFlowFreeData freeData,MFErrorHandler e);
00052
00063 IMFFlow IMFCreateFatFlow(IMFFlow F,int k,MFErrorHandler e);
00064
00074 IMFFlow IMFCreateBackwardFatFlow(IMFFlow F,int k,MFErrorHandler e);
00075
00085 void IMFEvaluateFlow(IMFFlow F, MFNVector vu, MFKVector vp, double *f,MFErrorHandler e);
00086
00097 void IMFEvaluateDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp, double *df,MFErrorHandler e);
00098
00111 void IMFEvaluateParameterDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *dp,MFErrorHandler e);
00112
00123 void IMFEvaluateSecondDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *ddf,MFErrorHandler e);
00124
00136 void IMFEvaluateThirdDerivativeOfFlow(IMFFlow F, MFNVector vu, MFKVector vp,double *dddf,MFErrorHandler e);
00137
00138
00146 int IMFFlowNU(IMFFlow F,MFErrorHandler e);
00147
00155 int IMFFlowNP(IMFFlow F,MFErrorHandler e);
00156
00164 void *IMFFlowData(IMFFlow F,MFErrorHandler e);
00165
00173 MFFlowFreeData IMFFlowFreeData(IMFFlow F,MFErrorHandler e);
00174
00182 IMFFlow IMFCreateBackwardFlow(IMFFlow F,MFErrorHandler e);
00183
00197 double IMFFlowR(IMFFlow F, double eps, MFNVector u, MFKVector p, MFNKMatrix mPhi,MFErrorHandler e);
00198
00206 void IMFRefFlow(IMFFlow flow,MFErrorHandler e);
00207
00215 void IMFFreeFlow(IMFFlow flow,MFErrorHandler e);
00216
00224 void IMFWriteFlow(FILE* fid,IMFFlow flow,MFErrorHandler e);
00225
00234 IMFFlow IMFReadFlow(FILE* fid,MFAtlas A,MFErrorHandler e);
00235