// Must corresponds to a NewtonFunctionPtr void FischerFunc_MCP(int size, double* z, double* phi, int dummy) { // This function uses a user-defined function, set in the problem, to compute // the Fisher function int sizeEq = localProblem->sizeEqualities; int sizeIneq = localProblem->sizeInequalities; /* First call user-defined function to compute Fmcp function, */ localProblem->computeFmcp(sizeEq + sizeIneq, z, localProblem->Fmcp) ; /* and compute the corresponding Fischer function */ phi_Mixed_FB(sizeEq, sizeIneq, z, localProblem->Fmcp, phi) ; }
void F_MCPFischerBurmeister(int size, double* z, double* FBz, int a) { computeFz(z); phi_Mixed_FB(sN, sM, z, sFz, FBz); }
void mcp_FB(void* data_opaque, double* z, double* F, double* F_FB) { MixedComplementarityProblem2* data = (MixedComplementarityProblem2 *)data_opaque; phi_Mixed_FB(data->n1, data->n2, z, F, F_FB); }
void mlcp_mixed_FB(void* data_opaque, double* z, double* F, double* F_FB) { phi_Mixed_FB(((MixedLinearComplementarityProblem *)data_opaque)->n, ((MixedLinearComplementarityProblem *)data_opaque)->m, z, F, F_FB); }