/* Copyright (C) 1993, 1997 by Thomas Glen Smith. All Rights Reserved. */ /* execdyaq APL2 V1.0.1 ************************************************ * Called from execdyas to check for a dyadic routine of type * * (*oper)(Aplcb, Aplcb). * ***********************************************************************/ #define INCLUDES APLCB+APLDERIV+FUNSTRUC+FUNCODES #include "includes.h" sub_dyad execdyaq(fun) void *fun; { Mixed_dyadics *mdp; switch (((Codes *)fun)->funky_flags) { case MSMD: /* dyadic mixed deal, without */ mdp = &(((Msmd *)fun)->dyad); break; case MIXD: /* reshape, index of,... */ mdp = &(((Mixa *)fun)->dyad); break; case DYDB: /* decode, encode */ case SAME: /* transpose, gradedn, gradeup */ case DYAE: /* drop */ mdp = &(((Dmxo *)fun)->dyad); break; default: return(NULL); /* no match */ } return(mdp->epdix); /* mixed w/o axis */ }