Path: ...!news.roellig-ltd.de!open-news-network.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Lynn McGuire Newsgroups: comp.lang.fortran Subject: Re: Is there a way in Fortran to designate an integer value as integer*8 ? Date: Tue, 22 Oct 2024 19:42:45 -0500 Organization: A noiseless patient Spider Lines: 74 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 23 Oct 2024 02:42:46 +0200 (CEST) Injection-Info: dont-email.me; posting-host="12718488e3fb95f926f84e92473f53ad"; logging-data="1811675"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19u8hdSnX27s9gYuQ6kDZANOhM0EohaYd0=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:BtSJRoC7cCdzn/XVciqwR7xV0u0= Content-Language: en-US In-Reply-To: Bytes: 4492 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 I have "implicit none" in my first mandatory include for all 5,000+ subroutine files. Lynn