Metropoli BBS
VIEWER: eachdyag.c MODE: TEXT (ASCII)
/* Copyright (C) 1993 by Thomas Glen Smith.  All Rights Reserved. */
/* eachdyag APL2 V1.0.0 ************************************************
* Called from eachdyae, eachdyaf and execjot2 to process the next pair *
* of args.                                                             *
***********************************************************************/
#define INCLUDES APLDERIV+APLCB
#include "includes.h"
Aplcb eachdyag(dp,deriv_sub_ptr,left,rite)
Aplderiv dp; /* function describing derived function */
Deriv_sub *deriv_sub_ptr; /* identifies function to be processed */
Aplcb left,rite; /* arguments */
{
     Aplcb out;

     switch (deriv_sub_ptr->type) {
		case DOX:
			out = deriv_sub_ptr->func.dox
				(left,rite,dp->deriv_axis_cb);
			break;
          case DIX: /* mixed dyadic w/o axis */
               out = deriv_sub_ptr->func.dix
                    (left,rite);
               break;
          case DNL: /* mixed dyadic w/o axis */
               out = deriv_sub_ptr->func.dnl
                    (left,rite,NULL,NULL);
               break;
          case WAX: /* mixed dyadic with axis */
               out = deriv_sub_ptr->func.wax
                    (left,rite,dp->deriv_axis_int);
               break;
          case DBX: /* mixed dyadics with real axis (laminate) */
               out = deriv_sub_ptr->func.dbx
                    (left,rite,dp->deriv_axis_dbl);
               break;
          case DRV: /* derived function */
               out = deriv_sub_ptr->func.drv
                    (deriv_sub_ptr->fun,left,rite);
               break;
     } /* end switch */
     return(out);
}
[ RETURN TO DIRECTORY ]