help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Testing endianness


From: Paul Kienzle
Subject: Re: Testing endianness
Date: Wed, 21 Jan 2004 23:30:06 -0500


On Jan 21, 2004, at 4:38 PM, John W. Eaton wrote:

On 16-Jan-2004, Paul Kienzle <address@hidden> wrote:

| Do I need to test both conditions as in the following:
|
|      if octave_config_info("words_little_endian")
|       do little endian stuff
|      elseif octave_config_info("words_big_endian")
|       do big endian stuff
|      else
|       error("not little endian or big endian")
|      endif

Right, I wasn't sure what to do.  We have both words_big_endian and
words_little_endian in C++, so I just put both in octave_config_info.
If neither are true, I imagine it is a bug.  Would it be better to
have a different single value stored in octave_config_info?  If so,
what would you like to call it?

In suggesting a workaround for M. Cardoso, I
chose only one of them:

# untested code
function r=is_big_endian
static big=[];
if isempty(big)
 [fid,msg] = tmpfile();
 if (fid < 0) error("%s",msg); end
 fwrite(fid, 1, 'long');
 frewind(fid);
 big = fread(fid,1,'char')!=1
 fclose(fid);
endif
r = big

It is easy enough to query is_big_endian or !is_big_endian
depending on need.

Paul Kienzle
address@hidden



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]