| 59 |
|
{ |
| 60 |
|
if (!info || !*info) |
| 61 |
|
return(0); |
| 62 |
< |
if (!rm->info) |
| 62 |
> |
if (!rm->info) { |
| 63 |
|
rm->info = (char *)malloc(strlen(info)+1); |
| 64 |
< |
else |
| 64 |
> |
if (rm->info) rm->info[0] = '\0'; |
| 65 |
> |
} else |
| 66 |
|
rm->info = (char *)realloc(rm->info, |
| 67 |
|
strlen(rm->info)+strlen(info)+1); |
| 68 |
|
if (!rm->info) |
| 371 |
|
dtype = rm->dtype; |
| 372 |
|
else if ((dtype == DTrgbe) & (rm->dtype == DTxyze)) |
| 373 |
|
dtype = DTxyze; |
| 374 |
< |
else if ((dtype = DTxyze) & (rm->dtype == DTrgbe)) |
| 374 |
> |
else if ((dtype == DTxyze) & (rm->dtype == DTrgbe)) |
| 375 |
|
dtype = DTrgbe; |
| 376 |
|
if ((dtype != DTrgbe) & (dtype != DTxyze)) { |
| 377 |
|
fprintf(fp, "NROWS=%d\n", rm->nrows); |
| 492 |
|
rmx_addinfo(mres, rmx_mismatch_warn); |
| 493 |
|
for (i = mres->nrows; i--; ) |
| 494 |
|
for (j = mres->ncols; j--; ) |
| 495 |
< |
for (h = m1->ncols; h--; ) { |
| 495 |
> |
for (k = mres->ncomp; k--; ) { |
| 496 |
|
long double d = 0; |
| 497 |
< |
for (k = mres->ncomp; k--; ) |
| 497 |
> |
for (h = m1->ncols; h--; ) |
| 498 |
|
d += (long double)rmx_lval(m1,i,h,k) * |
| 499 |
|
(long double)rmx_lval(m2,h,j,k); |
| 500 |
|
rmx_lval(mres,i,j,k) = (double)d; |