The R Project SVN R

Rev

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

Rev 580 Rev 785
Line 445... Line 445...
445
 
445
 
446
	x = CAR(args);
446
	x = CAR(args);
447
	y = CADR(args);
447
	y = CADR(args);
448
	xdims = getAttrib(x, R_DimSymbol);
448
	xdims = getAttrib(x, R_DimSymbol);
449
	ydims = getAttrib(y, R_DimSymbol);
449
	ydims = getAttrib(y, R_DimSymbol);
450
	ldx = LENGTH(xdims);
450
	ldx = length(xdims);
451
	ldy = LENGTH(ydims);
451
	ldy = length(ydims);
452
 
452
 
453
	if (ldx != 2 && ldy != 2) {
453
	if (ldx != 2 && ldy != 2) {
454
		if(PRIMVAL(op) == 0) {
454
		if(PRIMVAL(op) == 0) {
455
			nrx = 1;
455
			nrx = 1;
456
			ncx = LENGTH(x);
456
			ncx = LENGTH(x);
Line 470... Line 470...
470
		if(PRIMVAL(op) == 0) {
470
		if(PRIMVAL(op) == 0) {
471
			if(LENGTH(x) == nry) {
471
			if(LENGTH(x) == nry) {
472
				nrx = 1;
472
				nrx = 1;
473
				ncx = LENGTH(x);
473
				ncx = LENGTH(x);
474
			}
474
			}
-
 
475
			if( nry*ncy == 1 ) {
-
 
476
				nrx = LENGTH(x);
-
 
477
				ncx = 1;
-
 
478
			}
475
		}
479
		}
476
		else {
480
		else {
477
			if(LENGTH(x) == nry) {
481
			if(LENGTH(x) == nry) {
478
				nrx = LENGTH(x);
482
				nrx = LENGTH(x);
479
				ncx = 1;
483
				ncx = 1;
Line 488... Line 492...
488
		if(PRIMVAL(op) == 0) {
492
		if(PRIMVAL(op) == 0) {
489
			if (LENGTH(y) == ncx) {
493
			if (LENGTH(y) == ncx) {
490
				nry = LENGTH(y);
494
				nry = LENGTH(y);
491
				ncy = 1;
495
				ncy = 1;
492
			}
496
			}
-
 
497
			if ( nrx*ncx == 1 ) {
-
 
498
				ncy = LENGTH(y);
-
 
499
				nry = 1;
-
 
500
			}
493
		}
501
		}
494
		else {
502
		else {
495
			if (LENGTH(y) == nrx) {
503
			if (LENGTH(y) == nrx) {
496
				nry = LENGTH(y);
504
				nry = LENGTH(y);
497
				ncy = 1;
505
				ncy = 1;