XSLPsetcbslpstart
| XSLPsetcbslpstart | 
  Purpose
 
 Set a user callback to be called at the start of the SLP optimization
 
  Synopsis
 
int XPRS_CC XSLPsetcbslpstart(XSLPprob Prob, int (XPRS_CC *UserFunc) (XSLPprob myProb, void *myObject), void *Object);
 
  Arguments
 
| 
     Prob 
     | 
     The current SLP problem.
     | 
| 
     UserFunc 
     | 
     The function to be called at the start of the SLP optimization.
     UserFunc returns an integer value. If the return value is nonzero, the optimization will not be carried out.
     | 
| 
     myProb 
     | 
     The problem passed to the callback function.
     | 
| 
     myObject 
     | 
     The user-defined object passed as
     Object to
     XSLPsetcbslpstart.
     | 
| 
     Object 
     | 
     Address of a user-defined object, which can be used for any purpose by the function.
     Object is passed to
     UserFunc as
     myObject.
     | 
  Example
 
 The following example sets up a callback to be executed at the start of the SLP optimization. It allocates memory to a user-defined object to be used during the optimization:
 
void *ObjData; ObjData = NULL; XSLPsetcbslpstart(Prob, CBSlpStart, &ObjData);
 A suitable callback function might resemble this:
 
int XPRS_CC CBSlpStart(XSLPprob MyProb, void *Obj) {
  void *ObjData;
  ObjData = * (void **) Obj;
  if (ObjData) free(ObjData);
  * (void **) Obj = malloc(99*sizeof(double));
  return 0;
}
  Further information
 
 This callback can be used at the start of the SLP optimization to carry out any housekeeping before the optimization actually starts. Note that a nonzero return code from the callback will terminate the optimization immediately.
 
  Related topics
 
 
