/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* execjota APL2 V1.0.0 ************************************************
* Called from execjot when the data types of the two operands agree, *
* and neither data type is character, to do outer product. *
***********************************************************************/
#define INCLUDES APLTOKEN+APLCHDEF+APLCB+FUNSTRUC
#include "includes.h"
Aplcb execjota(left,rite,type,rscp)
Aplcb left,rite; /* left and right operands */
int type; /* data types of left and right operands */
Scalar_dyadics *rscp; /* function definitions - see aplstruc.h */
{
Execjotc; Outrprdp;
Aplcb out=NULL;
switch(type) {
case APLCPLX:
if (NULL != rscp->procs.ppcpx)
out = outrprdp(rscp->procs.ppcpx,left,rite);
if (out != NULL) break;
case APLINT:
if (NULL != rscp->procs.ppint)
out = outrprdp(rscp->procs.ppint,left,rite);
if (out != NULL) break;
case APLNUMB:
out = execjotc(left,rite,type,type,rscp);
break;
} /* end switch */
return(out);
}