Metropoli BBS
VIEWER: execdotc.c MODE: TEXT (ASCII)
/* Copyright (C) 1993 by Thomas Glen Smith.	All Rights Reserved. */
/* execdotc APL2 V1.0.0 ************************************************
* Called from execdota and execdot when each operand must be converted *
* to floating point to do inner product.                               *
***********************************************************************/
#define INCLUDES APLCHDEF+FUNSTRUC+APLCB
#include "includes.h"
Aplcb execdotc(left,rite,ltype,rtype,lscp,rscp)
Aplcb left,rite;   /* left and right arguments */
int ltype,rtype;		   /* data types of left and right args */
Scalar_dyadics *lscp,*rscp; /* function definitions - see aplstruc.h */
{
	Innrprdp; Real;
	Aplcb out=NULL;

	if ((NULL != rscp->procs.ppdbl) && (NULL != lscp->procs.ppdbl)) {
		if (ltype != APLNUMB) left = real(left); /* convert */
		if (rtype != APLNUMB) rite = real(rite); /* convert */
		out = innrprdp(lscp->procs.ppdbl,rscp->procs.ppdbl,
				&(lscp->identities.did),left,rite);
     }
	return(out);
}
[ RETURN TO DIRECTORY ]