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