/*
* This test is of the matrix product kernel of apex3/ipbb/ipbb.sac,
* which crashes developer rev 18221:18226:MODIFIED
* (LACSO/LACSI).
*
*/
/* RESULT: _sel_ 30 29 */
/* FILTER: no-no */
use Array: all;
inline bool[+] ordotandBBBSTARLIKE(bool[+]x, bool[+]y)
{ /* CDC STAR-100 APL Algorithm for inner product */
/* This computes, for z=x f.g y,
* z[i;] = z[i;]f x[i;j]g y[j;]
* Thus, it runs stride-1, and we only fetch left argument
* elements once. It is similar to dotSTAR, except that:
* 1. "f" is such that we can't avoid the reduce step.
* 2. "x[i;j] f" is such that it may produce an identity on y[j;].
* If so, we don't apply f to that row.
* R. Bernecky 2005-11-24
*/
rowsx = drop([-1],shape(x));
colsx = shape(x)[[dim(x)-1]];
colsy = shape(y)[[dim(y)-1]];
Zrow = genarray([colsy],false);
/* Parallel over rows of x */
z = with {
(. <= [row] <= .) {
Crow = Zrow;
for (colx=0; colx