XSLPgetuserfunc
| XSLPgetuserfunc | 
  Purpose
 
 Retrieve the type and parameters for a user function
 
  Synopsis
 
int XPRS_CC XSLPgetuserfunc(XSLPprob Prob, int nSLPUF, char *xName, int *ArgType, int *ExeType, char *Param1, char *Param2, char *Param3);
 
  Arguments
 
| 
     Prob 
     | 
     The current SLP problem.
     | ||||||||||||||||||
| 
     nSLPUF 
     | 
     The number of the user function. This always counts from 1.
     | ||||||||||||||||||
| 
     xName 
     | 
     Character string to receive the null-terminated external name of the user function. May be
     NULL if not required. Note that the external name is not the name used in written formulae, which is created by the
     XSLPaddnames function if required.
     | ||||||||||||||||||
| 
     ArgType 
     | 
     Address of an integer to receive the bitmap specifying existence and type of arguments:
     
 
     May be
     NULL if not required.
     | ||||||||||||||||||
| 
     ExeType 
     | 
     Address of an integer to receive the bitmap holding the type of function:
     
 
     May be
     NULL if not required.
     | ||||||||||||||||||
| 
     Param1 
     | 
     Character buffer to hold the first parameter (
     FILE). May be
     NULL if not required.
     | ||||||||||||||||||
| 
     Param2 
     | 
     Character buffer to hold the second parameter (
     ITEM). May be
     NULL if not required.
     | ||||||||||||||||||
| 
     Param3 
     | 
     Character buffer to hold the third parameter (
     HEADER). May be
     NULL if not required.
     | 
  Example
 
 The following example retrieves the argument type and external name for user function number 3 and prints a simplified description of the function prototype.
 
int ArgType;
char ExtName[60];
XSLPgetuserfunc(Prob, 1, ExtName, &ArgType, NULL,
                NULL, NULL, NULL);
printf("\nFunction is %s(",ExtName);
for (i=0;i<6;i++) {
  if (i) printf(",");
  if (ArgType & (07 << i*3))
    printf("Arg%d",i+1);
}
printf(")");;
  Further information
 
The following constants are provided for setting evaluation and derivative bits in ExeType:
 Setting bit 3: XSLP_RECALC
 Setting bit 4: XSLP_TOLCALC
 Setting bit 6: XSLP_2DERIVATIVE
 Setting bit 7: XSLP_1DERIVATIVE
 Setting bit 9: XSLP_INSTANCEFUNCTION
 Setting bit 24: XSLP_MULTIVALUED
 Setting bit 28: XSLP_NODERIVATIVES 
  Related topics
 
 
