/* Copyright (C) 1997 by Thomas Glen Smith. All Rights Reserved. */ /* execdyav APL2 V1.0.1 ************************************************ * Called from execdyas to check for a dyadic routine of type * * (*oper)(Aplcb, Aplcb, Aplcb). * ***********************************************************************/ #define INCLUDES APLCB+APLDERIV+FUNSTRUC+FUNCODES #include "includes.h" sub_dyad execdyav(fun) void *fun; { Mixed_dyadics *mdp; sub_dyad ret; switch (((Codes *)fun)->funky_flags) { case DIXE: /* drop */ mdp = &(((Dmxo *)fun)->dyad); ret = mdp->epdixe; break; case MIXE: /* partition */ case MIXG: /* pick */ case UPAR: /* take */ mdp = &(((Mixa *)fun)->dyad); ret = mdp->epdixe; break; default: ret=NULL; /* no match */ break; } return(ret); }