DESCRIPTION
This function MUST be used when using a non-native datatype and must be called once for each of:PGA_USERFUNCTION_CREATESTRING -- String creation
PGA_USERFUNCTION_MUTATION -- Mutation
PGA_USERFUNCTION_CROSSOVER -- Crossover
PGA_USERFUNCTION_PRINTSTRING -- String Output
PGA_USERFUNCTION_COPYSTRING -- Duplication
PGA_USERFUNCTION_DUPLICATE -- Duplicate Checking
PGA_USERFUNCTION_INITSTRING -- Initialization
PGA_USERFUNCTION_BUILDDATATYPE -- MPI Datatype creation
PGA_USERFUNCTION_STOPCOND -- Stopping conditions
PGA_USERFUNCTION_ENDOFGEN -- Auxiliary functions at the end of each generation
It MAY be called when using a native datatype to replace the built-in functions PGAPack has for that datatype (For example, if the Integer data type is used for a traveling salesperson problem, the user may want to provide their own custom crossover operator). See the user guide and the examples in the examples directory for more details.
INPUT PARAMETERS
- ctx
- - context variable
- constant
- - symbolic constant of the user function to set
- f
- - name of the function to use
OUTPUT PARAMETERS
- none
-
SYNOPSIS
#include "pgapack.h"
void PGASetUserFunction(ctx, constant, f)
PGAContext *ctx
int constant
void *f
LOCATION
user.cEXAMPLE
Example: void MyStringInit(PGAContext *, void *); PGAContext *ctx; : PGASetUserFunction(ctx, PGA_USERFUNCTION_INITSTRING, MyStringInit);