Metropoli BBS
VIEWER: eachdyae.c MODE: TEXT (ASCII)
/* 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)
			)
		)
	);
}
[ RETURN TO DIRECTORY ]