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

Comparing ray/src/cal/total.c (file contents):
Revision 1.15 by greg, Tue Nov 16 03:30:45 2021 UTC vs.
Revision 1.16 by greg, Thu Mar 24 22:26:50 2022 UTC

# Line 59 | Line 59 | char  *argv[]
59                                          func = MULT;
60                                          break;
61                                  case 's':
62                                        func = ADD;
62                                          power = atof(argv[a]+2);
63                                          break;
64                                  case 'u':
# Line 137 | Line 136 | char  *argv[]
136                                  }
137                  else
138                          break;
139 +        if ((power != 0.0) & (func != ADD)) {
140 +                fprintf(stderr, "%s: -sE option requires summation\n", argv[0]);
141 +                exit(1);
142 +        }
143          if (mean) {
144                  if (func == MAX) {
145                          fprintf(stderr, "%s: average maximum?!\n", argv[0]);
# Line 282 | Line 285 | char  *fname
285                                  case ADD:
286                                          if (inpval[n] == 0.0)
287                                                  break;
288 <                                        if (power != 0.0)
286 <                                                tally[n] += pow(fabs(inpval[n]),power);
287 <                                        else
288 >                                        if (power == 0.0)
289                                                  tally[n] += inpval[n];
290 +                                        else if (power == 1.0)
291 +                                                tally[n] += fabs(inpval[n]);
292 +                                        else if (power == -1.0)
293 +                                                tally[n] += 1.0/fabs(inpval[n]);
294 +                                        else
295 +                                                tally[n] += pow(fabs(inpval[n]), power);
296                                          break;
297                                  case MULT:
298                                          if (inpval[n] == 0.0)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines