/* Copyright (C) 1993 by Thomas Glen Smith. All Rights Reserved. */
/* eachdyae APL2 V1.0.0 ************************************************
* Called from eachdyad when one or both arguments are empty. *
***********************************************************************/
#define INCLUDES APLDERIV+APLCB
#include "includes.h"
Aplcb eachdyae(dp,left,rite)
Aplderiv dp; /* function describing derived function */
Aplcb left,rite; /* arguments */
{
Eachdyag; Enclose; Endoper; Errstop; First; Reshape; Shape;
int tempsave;
Aplcb sav,tmp;
tmp = (0 == rite->aplcount) ? rite : left;
tempsave = tmp->aplflags & APLTEMP;
if (tempsave)
tmp->aplflags -= APLTEMP;
sav = shape(tmp);
tmp->aplflags += tempsave;
return(
errstop(0,NULL,NULL,
reshape(sav,
enclose(
eachdyag(dp,&(dp->deriv_left),
first(left), first(rite)),
NULL)
)
)
);
}