The R Project SVN R

Rev

Rev 13996 | Rev 15783 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 13996 Rev 14425
Line 310... Line 310...
310
static void matprod(double *x, int nrx, int ncx,
310
static void matprod(double *x, int nrx, int ncx,
311
		    double *y, int nry, int ncy, double *z)
311
		    double *y, int nry, int ncy, double *z)
312
{
312
{
313
#ifdef IEEE_754
313
#ifdef IEEE_754
314
    char *transa = "N", *transb = "N";
314
    char *transa = "N", *transb = "N";
-
 
315
    int i;
315
    double one = 1.0, zero = 0.0;
316
    double one = 1.0, zero = 0.0;
316
    if (nrx > 0 && ncx > 0 && nry > 0 && ncy > 0) {
317
    if (nrx > 0 && ncx > 0 && nry > 0 && ncy > 0) {
317
        F77_CALL(dgemm)(transa, transb, &nrx, &ncy, &ncx, &one,
318
        F77_CALL(dgemm)(transa, transb, &nrx, &ncy, &ncx, &one,
318
		    x, &nrx, y, &nry, &zero, z, &nrx);
319
		    x, &nrx, y, &nry, &zero, z, &nrx);
319
    }
320
    }
-
 
321
    else { /* zero-extent operations should return zeroes */
-
 
322
	for(i=0;i<nrx*ncy;i++) 
-
 
323
	    z[i]=0;
-
 
324
    }
320
#else
325
#else
321
 
326
 
322
/* FIXME - What about non-IEEE overflow ??? */
327
/* FIXME - What about non-IEEE overflow ??? */
323
/* Does it really matter? */
328
/* Does it really matter? */
324
 
329