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

Comparing ray/src/util/rcomb.c (file contents):
Revision 2.29 by greg, Fri Apr 4 18:06:48 2025 UTC vs.
Revision 2.33 by greg, Sat Aug 2 20:37:52 2025 UTC

# Line 194 | Line 194 | checksymbolic(ROPMAT *rop)
194          double          cf = 1;
195          int             i, j;
196                                          /* check suffix => reference file */
197 <        if (strchr(rop->preop.csym, '.') > rop->preop.csym)
197 >        if (strchr(rop->preop.csym, '.') != NULL)
198                  return(checkreffile(rop));
199  
200          if (nc < 3) {
# Line 876 | Line 876 | main(int argc, char *argv[])
876          int             stdin_used = 0;
877          int             nproc = 1;
878          const char      *mcat_spec = NULL;
879 +        int             transpose_mcat = 0;
880          int             n2comp = 0;
881          uby8            comp_ndx[128];
882          int             i;
# Line 970 | Line 971 | main(int argc, char *argv[])
971                                  mop[nmats].preop.csym = NULL;
972                                  break;
973                          case 'm':
973                                mcat_last = 1;
974                                  if (!n) goto userr;
975 +                                mcat_last = 1;
976 +                                transpose_mcat = (argv[i][2] == 't');
977                                  if (argv[++i][0] == '-' && !argv[i][1]) {
978                                          if (stdin_used++) goto stdin_error;
979                                          mcat_spec = stdin_name;
# Line 990 | Line 992 | main(int argc, char *argv[])
992          }
993          resize_inparr(nmats+1);         /* extra matrix at end for result */
994          mop[nmats].inspec = "trailing_ops";
995 <                                        /* load final concatenation matrix */
996 <        if (mcat_spec && !(mcat = rmx_load(mcat_spec, RMPnone))) {
997 <                fprintf(stderr, "%s: error loading concatenation matrix: %s\n",
998 <                                argv[0], mcat_spec);
999 <                return(1);
995 >
996 >        if (mcat_spec) {                /* load final concatenation matrix? */
997 >                mcat = rmx_load(mcat_spec);
998 >                if (!mcat) {
999 >                        fprintf(stderr, "%s: error loading concatenation matrix: %s\n",
1000 >                                        argv[0], mcat_spec);
1001 >                        return(1);
1002 >                }
1003 >                if (transpose_mcat && !rmx_transpose(mcat)) {
1004 >                        fprintf(stderr, "%s: error transposing concatenation matrix: %s\n",
1005 >                                        argv[0], mcat_spec);
1006 >                        return(1);
1007 >                }
1008          }
1009                                          /* get/check inputs, set constants */
1010          if (!initialize(&mop[nmats].imx))
# Line 1034 | Line 1044 | main(int argc, char *argv[])
1044                          return(1);
1045                  mop[nmats].rmp->ncols = mcat->ncols;
1046          }
1047 + #if DTrmx_native==DTfloat
1048 +        if (outfmt == DTdouble)
1049 +                fprintf(stderr, "%s: warning - writing float result as double\n", argv[0]);
1050 + #endif
1051          newheader("RADIANCE", stdout);  /* write output header */
1052          if (echoheader)
1053                  output_headinfo(stdout);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines