From: garylscott@sbcglobal.net   
      
   On 2/6/2026 10:29 AM, Radey Shouman wrote:   
   > "Steven G. Kargl" writes:   
   >   
   >> On Thu, 05 Feb 2026 21:07:23 +0200, Michael S wrote:   
   >>   
   >>> On Thu, 5 Feb 2026 18:38:48 -0000 (UTC)   
   >>> Thomas Koenig wrote:   
   >>>   
   >>>> ["Followup-To:" nach comp.lang.fortran gesetzt.]   
   >>>> Michael S schrieb:   
   >>>>> On Thu, 5 Feb 2026 07:23:41 -0000 (UTC)   
   >>>>> Thomas Koenig wrote:   
   >>>>>   
   >>>>>   
   >>>>>> Parsers are a field where Fortran does not shine, although   
   >>>>>> allocatable characters have made this much easier.   
   >>>>>   
   >>>>> Another field where Fortran "does not shine" is handling of huge   
   >>>>> uni-dimensional arrays.   
   >>>>   
   >>>> Why?   
   >>>>   
   >>>> If you are referring to pre-Fortran-90 days, you are also 35 years in   
   >>>> the past :-)   
   >>>>   
   >>>> A bit more verbiage than required (usually, I would expect people to   
   >>>> put their kind numbers into modules):   
   >>>>   
   >>>> module my_kinds   
   >>>> use iso_fortran_env, only: real64, int64 implicit none private public   
   >>>> :: ik, rk integer, parameter :: ik = int64, rk = real64   
   >>>> end module my_kinds   
   >>>>   
   >>>> program main   
   >>>> use my_kinds implicit none integer(ik) :: sz real(rk), allocatable,   
   >>>> dimension(:) :: array read (*,*) sz allocate(array(sz))   
   >>>> end program main   
   >>>>   
   >>>> works just fine.   
   >>>>   
   >>>>   
   >>> Not that I understood all incantations, but I guess that above code   
   >>> demonstrates that in New Fortran array indices are no longer limited to   
   >>> 2**31.   
   >>> Good to know.   
   >>   
   >> Technically, no Fortran standard limited the range of indicies to 2**31.   
   >> Going back to Fortran 66, an array index has a type of integer, and in   
   >> F66 there is only one integer kind. The range of the integer is not   
   >> specified in the standard. The integer type could be a signed 16-bit,   
   >> 32-bit, 48-bit, etc entity. The Fortran standard does not specify   
   >> implementation detail.   
   >   
   > The size of the integer type was specified to be the same as the size of   
   > the real type. The real type need not be 32-bit floating point, but   
   > that is certainly the way to bet.   
   >   
   Oh course nearly every system had (nonstandard) ways to change the size   
   of both integer and real types (and others), before Fortran 90.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|