/* Copyright (C) 1993, 1997 by Thomas Glen Smith. All Rights Reserved. */
/* execdyap APL2 V1.0.1 ************************************************
* Called from execdyas to check for a dyadic routine of type *
* (*oper)(void *, Aplcb, Aplcb). *
***********************************************************************/
#define INCLUDES APLCB+APLDERIV+FUNSTRUC+FUNCODES
#include "includes.h"
sub_dyad execdyap(fun,arg)
void *fun;
void **arg;
{
Execdyal; Execdyam;
switch (((Codes *)fun)->funky_flags) {
case EQNE:
*arg = fun; /* set subroutine argument */
return(execdyal); /* return subroutine */
case SCMD: /* dyadic scalars */
*arg = fun;
break;
case SCDO: /* and, less, greater, etc. */
*arg = fun;
break;
default:
*arg = NULL;
return(NULL); /* no match */
}
return(execdyam);
}