/* innrprdi.h APL2 V1.0.0 **********************************************
* Included in innrprd and iinnrprd, this is the set of nested loops *
* that completes the inner product process. *
***********************************************************************/
axicnt = raxicnt;
for (i=0; i<ltopcnt; i++) {
ip = ldata + i*axicnt*lincr;
for (j=0; j<lbotcnt; j++) {
jp = ip + j;
for (k=0; k<rtopcnt; k++) {
kp = rdata + k*axicnt*rincr;
for (m=0; m<rbotcnt; m++) {
mp = kp + m + axicnt*rincr;
np = jp + axicnt*lincr;
wrk = *identity;
for (n=0; n<axicnt; n++)
wrk = (*opera)(
(*operb)(
*(np-=lincr),
*(mp-=rincr)),
wrk);
*dataout++ = wrk;
}
}
}
}
return(errstop(0,left,rite,out));
/****** end of innrprdi.h ******/