comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » OPENR F77 SWAP_IF_LITTLE_ENDIAN
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: OPENR F77 SWAP_IF_LITTLE_ENDIAN [message #90726 is a reply to message #90724] Mon, 06 April 2015 12:45 Go to previous messageGo to previous message
Paul Van Delst[1] is currently offline  Paul Van Delst[1]
Messages: 1157
Registered: April 2002
Senior Member
Hello,

On 04/06/15 14:04, Edward Hyer wrote:
> ; open and write a file using F77_UNFORMATTED
> IDL> openw,lun,/get_lun,/f77,'/tmp/test_f77'
> IDL> writeu,lun,long(2015032518),float(6),long(0)
> IDL> free_lun,lun
> ; read the file back in
> IDL> openr,lun,/get_lun,/f77,'/tmp/test_conc'
> IDL> qq1=long(0) & qq2=float(0) & qq3=long(0)
> IDL> readu,lun,qq1,qq2,qq3
> IDL> print,qq1,qq2,qq3
> 2013052306 6.00000 0
> IDL> free_lun,lun
> ; now try reading it with /SWAP_IF_LITTLE_ENDIAN
> IDL> openr,lun,/get_lun,/f77,'/tmp/test_conc',/swap_if_little_end ian
> IDL> readu,lun,qq1,qq2,qq3
> % READU: Corrupted f77 unformatted file detected. Unit: 100
> File: /tmp/test_conc
> % Execution halted at: $MAIN$
>
>
> Has anyone encountered this behavior?

Yes. At least, when I read in the same file I write! (you have
'/tmp/test_f77' and '/tmp/test_conc')

On my (little-endian) machine:

IDL> print, !version
{ x86_64 linux unix linux 8.3 Nov 15 2013 64 64}
IDL> openw,lun,/get_lun,/f77,'tmp.test_f77'
IDL> writeu,lun,long(2015032518),float(6),long(0)
IDL> free_lun,lun
IDL> openr,lun,/get_lun,/f77,'tmp.test_f77'
IDL> qq1=long(0) & qq2=float(0) & qq3=long(0)
IDL> readu,lun,qq1,qq2,qq3
IDL> print,qq1,qq2,qq3
2015032518 6.00000 0
IDL> free_lun,lun
IDL> openr,lun,/get_lun,/f77,'tmp.test_f77',/swap_if_little_endia n
IDL> readu,lun,qq1,qq2,qq3
% READU: Corrupted f77 unformatted file detected. Unit: 100, File:
tmp.test_f77
% Execution halted at: $MAIN$

This is what should happen on a little endian machine.

Now, if you're on a big-endian machine (e.g. Power chips?) then this
would be strange behaviour. But, last time I checked/cared, IDL wasn't
being developed anymore for those platforms (e.g. IBM AIX RISC type of
thing).

cheers,

paulv
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: cgBlendImage, more than 2 images?
Next Topic: 5th & 95th Percentiles

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 02:30:30 PDT 2025

Total time taken to generate the page: 0.48314 seconds