Deutsch   English   Français   Italiano  
<vdmimv$1c18c$1@paganini.bofh.team>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!2.eu.feeder.erje.net!feeder.erje.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail
From: R Daneel Olivaw <Danny@hyperspace.vogon.gov>
Newsgroups: comp.lang.fortran
Subject: Re: Is there a way in Fortran to designate an integer value as
 integer*8 ?
Date: Thu, 3 Oct 2024 19:02:23 +0200
Organization: To protect and to server
Message-ID: <vdmimv$1c18c$1@paganini.bofh.team>
References: <vdict2$339ak$1@dont-email.me> <vdm3lb$1b8pr$1@paganini.bofh.team>
 <vdmbvt$3p2dv$2@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 3 Oct 2024 17:02:23 -0000 (UTC)
Injection-Info: paganini.bofh.team; logging-data="1443084"; posting-host="XBJBjenliTep7OIZ0g9xdw.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 SeaMonkey/2.53.18.2
X-Notice: Filtered by postfilter v. 0.9.3
Bytes: 2728
Lines: 42

Steven G. Kargl wrote:
> On Thu, 03 Oct 2024 14:45:31 +0200, R Daneel Olivaw wrote:
> 
>> Lynn McGuire wrote:
>>> I need many of my integers to be integer*8 in my port to 64 bit.  In
>>> C/C++ code, I can say 123456L to mean a long long value, generally 64
>>> bit.  Is there a corresponding way to do this in Fortran or am I stuck
>>> with:
>>>
>>>       call xyz (1)
>>>
>>>       subroutine xyz (ivalue)
>>>       integer*8 ivalue
>>>       ...
>>>       return end
>>>
>>> must be:
>>>
>>>       integer*8 ivalue
>>>       ...
>>>       ivalue = 1
>>>       call xyz (ivalue)
>>>
>>
>> This is not actually a Fortran issue as such, it's all about a specific
>> compiler (GNU Fortran).
> 
> If we overlook the nonstandard type in the declaration, and agree
> that the compiler will accept 'integer*8', then the program is
> still invalid Fortran.  It's technically not a Fortran issue.  It
> is a programmer issue.
> 

Take a pragmatic approach, if that's the way the compiler wants you to 
do it then do it that way.
Years ago I was converting a suite of programs from one OS/hardware 
platform to another.  One program had serious problems because type 
"real" had insufficient precision on the new machine, that machine 
offered a compile option which meant "real" automatically meant "double 
precision" and - after checking for "equivalence" and common" statements 
- that's the way I went.  Problem solved.  This was back in the days of 
Fortran IV but I don't think I've ever seen anyone assigning Hollerith 
values to Real numbers so that was not a problem either.