Changeset 33648 for trunk/Ohana/src/libfits/matrix/F_read_portion.c
- Timestamp:
- Apr 1, 2012, 2:22:08 PM (14 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libfits/matrix/F_read_portion.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libfits/matrix/F_read_portion.c
r28241 r33648 52 52 fclose (f); 53 53 54 # define DOSWAP(A,B) { char tmp = A; A = B; B = tmp; } 55 54 56 # ifdef BYTE_SWAP 55 57 { 56 58 off_t i; 57 59 int perpix; 58 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7 , ctmp;59 60 unsigned char *byte0, *byte1, *byte2, *byte3, *byte4, *byte5, *byte6, *byte7; 61 60 62 perpix = abs(header.bitpix) / 8; 61 63 if (perpix > 1) { … … 70 72 if (perpix == 2) { 71 73 for (i = 0; i < nbytes; i+=2, byte0 += 2, byte1 += 2) { 72 ctmp = *byte0; 73 *byte0 = *byte1; 74 *byte1 = ctmp; 74 DOSWAP(*byte0, *byte1); 75 75 } 76 76 } 77 77 if (perpix == 4) { 78 78 for (i = 0; i < nbytes; i+=4, byte0 += 4, byte1 += 4, byte2 += 4, byte3 += 4) { 79 ctmp = *byte0; 80 *byte0 = *byte3; 81 *byte3 = ctmp; 82 ctmp = *byte1; 83 *byte1 = *byte2; 84 *byte2 = ctmp; 79 DOSWAP (*byte0, *byte3); 80 DOSWAP (*byte1, *byte2); 85 81 } 86 82 } 87 83 if (perpix == 8) { 88 84 for (i = 0; i < nbytes; i+=8, byte0 += 8, byte1 += 8, byte2 += 8, byte3 += 8, byte4 += 8, byte5 += 8, byte6 += 8, byte7 += 8) { 89 ctmp = *byte0; 90 *byte0 = *byte7; 91 *byte7 = ctmp; 92 ctmp = *byte1; 93 *byte1 = *byte6; 94 *byte6 = ctmp; 95 ctmp = *byte1; 96 *byte2 = *byte5; 97 *byte5 = ctmp; 98 ctmp = *byte1; 99 *byte3 = *byte4; 100 *byte4 = ctmp; 85 DOSWAP (*byte0, *byte7); 86 DOSWAP (*byte1, *byte6); 87 DOSWAP (*byte2, *byte5); 88 DOSWAP (*byte3, *byte4); 101 89 } 102 90 }
Note:
See TracChangeset
for help on using the changeset viewer.
