Re: Is there a way in Fortran to designate an integer value as integer*8 ?

Liste des GroupesRevenir à cl c  
Sujet : Re: Is there a way in Fortran to designate an integer value as integer*8 ?
De : lynnmcguire5 (at) *nospam* gmail.com (Lynn McGuire)
Groupes : comp.lang.fortran
Date : 23. Oct 2024, 19:56:47
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vfbgtf$25j82$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
User-Agent : Mozilla Thunderbird
On 10/22/2024 5:21 PM, Lawrence D'Oliveiro wrote:
On Tue, 22 Oct 2024 00:07:41 -0500, Lynn McGuire wrote:
 
Here is one of my 197 common block include files, global.inc:
>
C  global.inc
C
C
C  11/21/19  Lynn McGuire  pmr 6299, add new ncp max used variable for chemtran
 Those are the sorts of things that belong in your version control
system.
 
...
 What, no “implicit none”? Or do you put this in the including files?
 
        integer MAX_NCP
        PARAMETER (MAX_NCP = 1000)
 All these pairs of lines can be replaced with single lines, e.g.
     integer, parameter :: MAX_NCP = 1000
 
       COMMON / GLOBAL / KTRACE, NCP, SETSTP, NDYNER, NERQQQ, LNOLIMIT,
       *                  do_not_call_pivf, do_not_call_adbf,
       *                  ne_did_not_converge, equipment_fail_count,
       *                  lrespect_user_pitch, do_not_call_threephs,
       *                  do_not_call_flai, do_not_call_liqh,
       *                  do_not_call_vaph, thermo_init_failed,
       *                  num_crude_streams, print_streams_for_each_unit,
       *                  do_not_call_solid_isothermal_flash,
       *                  ncp_max_used
>
        integer KTRACE
        integer NCP
        logical SETSTP
        integer NDYNER
        integer NERQQQ
        integer num_crude_streams
        logical LNOLIMIT
        logical do_not_call_pivf
        logical do_not_call_adbf
        logical lrespect_user_pitch
        logical do_not_call_threephs
        logical do_not_call_flai
        logical do_not_call_liqh
        logical do_not_call_vaph
        logical thermo_init_failed
        logical print_streams_for_each_unit
        logical do_not_call_solid_isothermal_flash
C        this is to record the ncp max used for chemtran since itchanges ncp on the fly
        integer ncp_max_used
 Much more concisely:
      module GLOBAL
         integer :: KTRACE, NCP, SETSTP, NDYNER, NERQQQ, num_crude_streams
         logical :: LNOLIMIT, do_not_call_pivf, do_not_call_adbf, lrespect_user_pitch, &
             do_not_call_threephs, do_not_call_flai, do_not_call_liqh, do_not_call_vaph, &
             thermo_init_failed, print_streams_for_each_unit, do_not_call_solid_isothermal_flash
        integer :: ncp_max_used
          ! this is to record the ncp max used for chemtran since itchanges ncp on the fly
     end module GLOBAL
 Then you just do “use GLOBAL” where you need these definitions.
 etc etc
BTW, my software dates before version control systems.  1965 or so to be exact.  And I like change notes in my code, it helps to figure out what is going on.  And some day we are going to change version control systems again.
And I am not going to upgrade 850,000 lines of Fortran F77 code to F90 code just to have prettier code.  I would still be here in 10 years fixing all of the bugs from that disaster.
Lynn

Date Sujet#  Auteur
7 Jan 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal