GufuncΒΆ

A gufunc is defined as a name and a collection of associated kernels. Gufunc structs are in a lookup table with their names as keys:

typedef struct {
    char *name;
    int nkernels;
    gm_kernel_t kernels[GM_MAX_KERNELS];
} gm_func_t;

Since each kernel has its own type signature, gufuncs are essentially multimethods.