The R Project SVN R

Rev

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

Rev 13985 Rev 13996
Line 311... Line 311...
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
    double one = 1.0, zero = 0.0;
315
    double one = 1.0, zero = 0.0;
-
 
316
    if (nrx > 0 && ncx > 0 && nry > 0 && ncy > 0) {
316
    F77_CALL(dgemm)(transa, transb, &nrx, &ncy, &ncx, &one,
317
        F77_CALL(dgemm)(transa, transb, &nrx, &ncy, &ncx, &one,
317
		    x, &nrx, y, &nry, &zero, z, &nrx);
318
		    x, &nrx, y, &nry, &zero, z, &nrx);
-
 
319
    }
318
#else
320
#else
319
 
321
 
320
/* FIXME - What about non-IEEE overflow ??? */
322
/* FIXME - What about non-IEEE overflow ??? */
321
/* Does it really matter? */
323
/* Does it really matter? */
322
 
324
 
Line 379... Line 381...
379
		      double *y, int nry, int ncy, double *z)
381
		      double *y, int nry, int ncy, double *z)
380
{
382
{
381
#ifdef IEEE_754
383
#ifdef IEEE_754
382
    char *transa = "T", *transb = "N";
384
    char *transa = "T", *transb = "N";
383
    double one = 1.0, zero = 0.0;
385
    double one = 1.0, zero = 0.0;
-
 
386
    if (nrx > 0 && ncx > 0 && nry > 0 && ncy > 0) {
384
    F77_CALL(dgemm)(transa, transb, &ncx, &ncy, &nrx, &one,
387
        F77_CALL(dgemm)(transa, transb, &ncx, &ncy, &nrx, &one,
385
		    x, &nrx, y, &nry, &zero, z, &ncx);
388
		    x, &nrx, y, &nry, &zero, z, &ncx);
-
 
389
    }
386
#else
390
#else
387
    int i, j, k;
391
    int i, j, k;
388
    double xji, yjk, sum;
392
    double xji, yjk, sum;
389
 
393
 
390
    for (i = 0; i < ncx; i++)
394
    for (i = 0; i < ncx; i++)