The R Project SVN R

Rev

Rev 7002 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7002 Rev 7133
Line 571... Line 571...
571
	    crossprod(REAL(CAR(args)), nrx, ncx,
571
	    crossprod(REAL(CAR(args)), nrx, ncx,
572
		      REAL(CADR(args)), nry, ncy, REAL(ans));
572
		      REAL(CADR(args)), nry, ncy, REAL(ans));
573
	PROTECT(xdims = getAttrib(CAR(args), R_DimNamesSymbol));
573
	PROTECT(xdims = getAttrib(CAR(args), R_DimNamesSymbol));
574
	PROTECT(ydims = getAttrib(CADR(args), R_DimNamesSymbol));
574
	PROTECT(ydims = getAttrib(CADR(args), R_DimNamesSymbol));
575
	if (xdims != R_NilValue || ydims != R_NilValue) {
575
	if (xdims != R_NilValue || ydims != R_NilValue) {
576
	    SEXP dimnames, dimnamesnames, dnx, dny;
576
	    SEXP dimnames, dimnamesnames, dnx=R_NilValue, dny=R_NilValue;
577
	    PROTECT(dimnames = allocVector(VECSXP, 2));
577
	    PROTECT(dimnames = allocVector(VECSXP, 2));
578
	    PROTECT(dimnamesnames = allocVector(STRSXP, 2));
578
	    PROTECT(dimnamesnames = allocVector(STRSXP, 2));
579
	    if (xdims != R_NilValue) {
579
	    if (xdims != R_NilValue) {
580
		dnx = getAttrib(xdims, R_NamesSymbol);
580
		dnx = getAttrib(xdims, R_NamesSymbol);
581
		VECTOR(dimnames)[0] = VECTOR(xdims)[1];
581
		VECTOR(dimnames)[0] = VECTOR(xdims)[1];
Line 586... Line 586...
586
		dny = getAttrib(ydims, R_NamesSymbol);
586
		dny = getAttrib(ydims, R_NamesSymbol);
587
		VECTOR(dimnames)[1] = VECTOR(ydims)[1];
587
		VECTOR(dimnames)[1] = VECTOR(ydims)[1];
588
		if(!isNull(dny))
588
		if(!isNull(dny))
589
		    STRING(dimnamesnames)[1] = STRING(dny)[1];
589
		    STRING(dimnamesnames)[1] = STRING(dny)[1];
590
	    }
590
	    }
591
	    if(!isNull(dnx) || !isNull(dny))
591
	    if (!isNull(dnx) || !isNull(dny))
592
		setAttrib(dimnames, R_NamesSymbol, dimnamesnames);
592
		setAttrib(dimnames, R_NamesSymbol, dimnamesnames);
593
	    setAttrib(ans, R_DimNamesSymbol, dimnames);
593
	    setAttrib(ans, R_DimNamesSymbol, dimnames);
594
	    UNPROTECT(2);
594
	    UNPROTECT(2);
595
	}
595
	}
596
    }
596
    }