ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/rmatrix.c
(Generate patch)

Comparing ray/src/util/rmatrix.c (file contents):
Revision 2.55 by greg, Sun Mar 6 17:21:49 2022 UTC vs.
Revision 2.56 by greg, Fri Mar 11 01:11:13 2022 UTC

# Line 206 | Line 206 | rmx_load_double(RMATRIX *rm, FILE *fp)
206   {
207          int     i;
208   #ifdef MAP_FILE
209 <        long    pos;            /* map memory to file if possible */
209 >        long    pos;            /* map memory for file > 1MB if possible */
210          if (!rm->swapin && array_size(rm) >= 1L<<20 &&
211                          (pos = ftell(fp)) >= 0 && !(pos % sizeof(double))) {
212                  rm->mapped = mmap(NULL, array_size(rm)+pos, PROT_READ|PROT_WRITE,
# Line 214 | Line 214 | rmx_load_double(RMATRIX *rm, FILE *fp)
214                  if (rm->mapped != MAP_FAILED) {
215                          rm->mtx = (double *)rm->mapped + pos/sizeof(double);
216                          return(1);
217 <                }
217 >                }               /* else fall back on reading into memory */
218                  rm->mapped = NULL;
219          }
220   #endif
# Line 583 | Line 583 | rmx_transpose(const RMATRIX *rm)
583                  rmx_addinfo(dnew, "Transposed rows and columns\n");
584          }
585          dnew->dtype = rm->dtype;
586 <        for (i = dnew->nrows; i--; )
587 <            for (j = dnew->ncols; j--; )
586 >        for (j = dnew->ncols; j--; )
587 >            for (i = dnew->nrows; i--; )
588                  memcpy(rmx_lval(dnew,i,j), rmx_lval(rm,j,i),
589                                  sizeof(double)*dnew->ncomp);
590          return(dnew);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines