10 |
|
#include "rmatrix.h" |
11 |
|
#include "platform.h" |
12 |
|
|
13 |
– |
#define MAXCOMP MAXCSAMP /* #components we support */ |
14 |
– |
|
13 |
|
/* Unary matrix operation(s) */ |
14 |
|
typedef struct { |
15 |
|
double cmat[MAXCOMP*MAXCOMP]; /* component transformation */ |
341 |
|
} |
342 |
|
} |
343 |
|
if (rop->preop.transpose) { /* transpose matrix? */ |
344 |
< |
mres = rmx_transpose(rop->mtx); |
347 |
< |
if (mres == NULL) { |
344 |
> |
if (!rmx_transpose(rop->mtx)) { |
345 |
|
fputs(rop->inspec, stderr); |
346 |
|
fputs(": transpose failed\n", stderr); |
347 |
|
goto failure; |
350 |
|
fputs(rop->inspec, stderr); |
351 |
|
fputs(": transposed rows and columns\n", stderr); |
352 |
|
} |
356 |
– |
rmx_free(rop->mtx); |
357 |
– |
rop->mtx = mres; |
353 |
|
} |
354 |
|
mres = rop->mtx; |
355 |
|
rop->mtx = NULL; |
684 |
|
else if (mres->dtype == DTxyze) |
685 |
|
outfmt = DTxyze; |
686 |
|
} |
687 |
+ |
#if DTrmx_native==DTfloat |
688 |
+ |
if (outfmt == DTdouble) |
689 |
+ |
fprintf(stderr, |
690 |
+ |
"%s: warning - writing float result as double\n", |
691 |
+ |
argv[0]); |
692 |
+ |
#endif |
693 |
|
newheader("RADIANCE", stdout); /* write result to stdout */ |
694 |
|
printargs(argc, argv, stdout); |
695 |
|
return(rmx_write(mres, outfmt, stdout) ? 0 : 1); |