Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Doubt is not a pleasant condition, but certainty is absurd. -- Voltaire


devel / comp.lang.fortran / Re: Standardize real*8 as real(kind=real64)?

SubjectAuthor
* Standardize real*8 as real(kind=real64)?Beliavsky
+* Re: Standardize real*8 as real(kind=real64)?Beliavsky
|+* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
||`- Re: Standardize real*8 as real(kind=real64)?pehache
|+* Re: Standardize real*8 as real(kind=real64)?gah4
||`* Re: Standardize real*8 as real(kind=real64)?Beliavsky
|| `* Re: Standardize real*8 as real(kind=real64)?gah4
||  `- Re: Standardize real*8 as real(kind=real64)?Dick Hendrickson
|`- Re: Standardize real*8 as real(kind=real64)?John Collins
+- Re: Standardize real*8 as real(kind=real64)?FortranFan
+* Re: Standardize real*8 as real(kind=real64)?gah4
|+- Re: Standardize real*8 as real(kind=real64)?John Collins
|`* Re: Standardize real*8 as real(kind=real64)?Thomas Koenig
| `* Re: Standardize real*8 as real(kind=real64)?gah4
|  +* Re: Standardize real*8 as real(kind=real64)?Thomas Koenig
|  |`- Re: Standardize real*8 as real(kind=real64)?gah4
|  `- Re: Standardize real*8 as real(kind=real64)?Ron Shepard
+* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|+- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
|`* Re: Standardize real*8 as real(kind=real64)?pehache
| +* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| |`* Re: Standardize real*8 as real(kind=real64)?pehache
| | `* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| |  `- Re: Standardize real*8 as real(kind=real64)?pehache
| +* Re: Standardize real*8 as real(kind=real64)?pehache
| |`* Re: Standardize real*8 as real(kind=real64)?pehache
| | `* Re: Standardize real*8 as real(kind=real64)?Phillip Helbig (undress to reply
| |  +* Re: Standardize real*8 as real(kind=real64)?gah4
| |  |+* Re: Standardize real*8 as real(kind=real64)?jfh
| |  ||`* Re: Standardize real*8 as real(kind=real64)?FortranFan
| |  || `- Re: Standardize real*8 as real(kind=real64)?jfh
| |  |`- Re: Standardize real*8 as real(kind=real64)?Phillip Helbig (undress to reply
| |  `* Re: Standardize real*8 as real(kind=real64)?pehache
| |   `- Re: Standardize real*8 as real(kind=real64)?Phillip Helbig (undress to reply
| `* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|  `* Re: Standardize real*8 as real(kind=real64)?pehache
|   `* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|    +* Re: Standardize real*8 as real(kind=real64)?pehache
|    |`* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|    | `* Re: Standardize real*8 as real(kind=real64)?pehache
|    |  +* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
|    |  |`- Re: Standardize real*8 as real(kind=real64)?pehache
|    |  `- Re: Standardize real*8 as real(kind=real64)?gah4
|    +* Re: Standardize real*8 as real(kind=real64)?gah4
|    |`- Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|    `* Re: Standardize real*8 as real(kind=real64)?Quadibloc
|     `- Re: Standardize real*8 as real(kind=real64)?gah4
+* Re: Standardize real*8 as real(kind=real64)?John Collins
|+* Re: Standardize real*8 as real(kind=real64)?FortranFan
||`- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
|`- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
+* Re: Standardize real*8 as real(kind=real64)?JCampbell
|+* Re: Standardize real*8 as real(kind=real64)?Thomas Koenig
||+* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
|||`- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
||`* Re: Standardize real*8 as real(kind=real64)?jfh
|| `* Re: Standardize real*8 as real(kind=real64)?JCampbell
||  `* Re: Standardize real*8 as real(kind=real64)?steve kargl
||   `* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
||    `* Re: Standardize real*8 as real(kind=real64)?steve kargl
||     `- Re: Standardize real*8 as real(kind=real64)?Quadibloc
|`* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| +* Re: Standardize real*8 as real(kind=real64)?John Collins
| |+* Re: Standardize real*8 as real(kind=real64)?gah4
| ||`* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| || `* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| ||  `* Re: Standardize real*8 as real(kind=real64)?John Collins
| ||   +- Re: Standardize real*8 as real(kind=real64)?gah4
| ||   +* Re: Standardize real*8 as real(kind=real64)?FortranFan
| ||   |+- Re: Standardize real*8 as real(kind=real64)?gah4
| ||   |`* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| ||   | `- Re: Standardize real*8 as real(kind=real64)?FortranFan
| ||   +- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| ||   `* Re: Standardize real*8 as real(kind=real64)?Quadibloc
| ||    `- Re: Standardize real*8 as real(kind=real64)?jfh
| |+* Re: Standardize real*8 as real(kind=real64)?steve kargl
| ||+* Re: Standardize real*8 as real(kind=real64)?Phillip Helbig (undress to reply
| |||`- Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| ||+- Re: Standardize real*8 as real(kind=real64)?gah4
| ||+* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| |||`* Re: Standardize real*8 as real(kind=real64)?gah4
| ||| +- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| ||| `* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| |||  +- Re: Standardize real*8 as real(kind=real64)?gah4
| |||  `* Re: Standardize real*8 as real(kind=real64)?pehache
| |||   +* Re: Standardize real*8 as real(kind=real64)?gah4
| |||   |`- Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| |||   `* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| |||    +* Re: Standardize real*8 as real(kind=real64)?pehache
| |||    |`* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| |||    | `* Re: Standardize real*8 as real(kind=real64)?pehache
| |||    |  `* Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| |||    |   +* Re: Standardize real*8 as real(kind=real64)?pehache
| |||    |   |`- Re: Standardize real*8 as real(kind=real64)?Quadibloc
| |||    |   `- Re: Standardize real*8 as real(kind=real64)?Thomas Koenig
| |||    `- Re: Standardize real*8 as real(kind=real64)?Ron Shepard
| ||`* Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| || `- Re: Standardize real*8 as real(kind=real64)?steve kargl
| |`- Re: Standardize real*8 as real(kind=real64)?Robin Vowels
| `* Re: Standardize real*8 as real(kind=real64)?Quadibloc
|  `- Re: Standardize real*8 as real(kind=real64)?Thomas Koenig
+* Re: Standardize real*8 as real(kind=real64)?pehache
`* Re: Standardize real*8 as real(kind=real64)?gah4

Pages:12345
Re: Standardize real*8 as real(kind=real64)?

<30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2107&group=comp.lang.fortran#2107

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ac8:7299:0:b0:2ef:828e:3084 with SMTP id v25-20020ac87299000000b002ef828e3084mr170006qto.265.1649899009271;
Wed, 13 Apr 2022 18:16:49 -0700 (PDT)
X-Received: by 2002:a81:2fc9:0:b0:2e6:af26:2f57 with SMTP id
v192-20020a812fc9000000b002e6af262f57mr237412ywv.129.1649899008984; Wed, 13
Apr 2022 18:16:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 13 Apr 2022 18:16:48 -0700 (PDT)
In-Reply-To: <dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=173.49.135.235; posting-account=ZZXq9AoAAAAQEcA7zKAGm0UFQh4gMBv7
NNTP-Posting-Host: 173.49.135.235
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <2a3c9189-379c-4ea8-8227-eeaaf70ee84en@googlegroups.com>
<yRs5K.351418$Gojc.341861@fx99.iad> <33c2adf0-f82f-433a-997e-ea1f89532a83n@googlegroups.com>
<dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: parekhvs@gmail.com (FortranFan)
Injection-Date: Thu, 14 Apr 2022 01:16:49 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 37
 by: FortranFan - Thu, 14 Apr 2022 01:16 UTC

On Wednesday, April 13, 2022 at 2:41:22 PM UTC-4, john.c...@simconglobal.com wrote:

> .. I think a simple, unambiguous declaration which didn't have any associated complexities would be useful. To that end REAL*8 is the best we have got, it works everywhere (at least that I know of) and doesn't need to be in the standard if everyone understands it.

REAL*8 comes with considerable confusion given the current state of nonstandard compiler implementations and it is not going to make it into the ISO IEC standard for Fortran.

A "simple, unambiguous declaration" can be as suggested upthread i.e., IEEE_FPB64 where

IEEE_FPB64 is an intrinsic (built-in) alias for REAL(KIND=K) where K = IEEE_SELECTED_REAL_KIND( P=15, R=307, RADIX=2 )

Here IEEE_FPB64 is something a Fortran processor supporting IEEE_ARITHMETIC introduced Fortran 2003 must support intrinsically, meaning there will be no need for any USE statements.

The introduction of IEEE_FPB64 can meet almost all the needs given the >9X.Y% (X, Y likely >8) of computing that is now done using IEEE floating-point arithmetic toward the binary64 format in the IEEE 60559:2011 standard.

Note: the Fortran standard can also introduce IEEE_FPB32, IEEE_FPB128, IEEE_FPB256 for completeness to introduce intrinsic support for binart32, binary128, and binary256 formats from the IEEE 60559:2011 i.e., those that are colloquially understood to be single, quadruple, and octuple precision formats respectively. Additionally the standard can also introduce IEEE_FPD32, IEEE_FPD64, IEEE_FPD128 for the decimal formats since the IEEE_SELECTED_REAL_KIND also permits RADIX argument. The latter may not be supported by any real processor for a long, long time but it will be there for comprehensiveness.

Refactoring, when needed, of "REAL*8" codes would be a simple string replacement to "IEEE_FPB64".

Re: Standardize real*8 as real(kind=real64)?

<92f8c4c6-8734-4fd7-9a32-90d02f4ada76n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2108&group=comp.lang.fortran#2108

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ad4:5cc3:0:b0:441:1959:cb45 with SMTP id iu3-20020ad45cc3000000b004411959cb45mr1461302qvb.93.1649902425723;
Wed, 13 Apr 2022 19:13:45 -0700 (PDT)
X-Received: by 2002:a81:4cd1:0:b0:2eb:f766:eaca with SMTP id
z200-20020a814cd1000000b002ebf766eacamr333439ywa.385.1649902425563; Wed, 13
Apr 2022 19:13:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 13 Apr 2022 19:13:45 -0700 (PDT)
In-Reply-To: <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:180a:5097:3769:c8f3;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:180a:5097:3769:c8f3
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <2a3c9189-379c-4ea8-8227-eeaaf70ee84en@googlegroups.com>
<yRs5K.351418$Gojc.341861@fx99.iad> <33c2adf0-f82f-433a-997e-ea1f89532a83n@googlegroups.com>
<dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com> <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <92f8c4c6-8734-4fd7-9a32-90d02f4ada76n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: gah4@u.washington.edu (gah4)
Injection-Date: Thu, 14 Apr 2022 02:13:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 43
 by: gah4 - Thu, 14 Apr 2022 02:13 UTC

On Wednesday, April 13, 2022 at 6:16:51 PM UTC-7, FortranFan wrote:

(snip)

> A "simple, unambiguous declaration" can be as suggested upthread i.e., IEEE_FPB64 where
> IEEE_FPB64 is an intrinsic (built-in) alias for REAL(KIND=K) where
> K = IEEE_SELECTED_REAL_KIND( P=15, R=307, RADIX=2 )
I didn't know about that one.

> Here IEEE_FPB64 is something a Fortran processor supporting
> IEEE_ARITHMETIC introduced Fortran 2003 must support intrinsically,
> meaning there will be no need for any USE statements.

It is still longer than REAL*8, so string substitution is a little complicated.

> The introduction of IEEE_FPB64 can meet almost all the needs given
> the >9X.Y% (X, Y likely >8) of computing that is now done using IEEE
> floating-point arithmetic toward the binary64 format in the
> IEEE 60559:2011 standard.
> Note: the Fortran standard can also introduce IEEE_FPB32, IEEE_FPB128,
> IEEE_FPB256 for completeness to introduce intrinsic support for binart32,
> binary128, and binary256 formats from the IEEE 60559:2011 i.e.,
> those that are colloquially understood to be single, quadruple, and octuple
> precision formats respectively. Additionally the standard can also introduce
> IEEE_FPD32, IEEE_FPD64, IEEE_FPD128 for the decimal formats since the
> IEEE_SELECTED_REAL_KIND also permits RADIX argument.
> The latter may not be supported by any real processor for a long,
> long time but it will be there for comprehensiveness.

IBM is selling hardware that supports it, but I don't know which compilers do.

> Refactoring, when needed, of "REAL*8" codes would be a simple string replacement to "IEEE_FPB64".

OK, but you really should have one that allows for either IEEE binary64 or decimal64.

Given the above, it should be IEEE_FP64.

As I noted earlier, in the case if IEEE decimal, 64 is single precision and 128
is double precision. And all that without Cray!

Re: Standardize real*8 as real(kind=real64)?

<b78f5b70-8794-45bd-be6f-c6d92b2ebbd5n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2109&group=comp.lang.fortran#2109

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:2988:b0:69c:712c:6230 with SMTP id r8-20020a05620a298800b0069c712c6230mr451980qkp.278.1649905243942;
Wed, 13 Apr 2022 20:00:43 -0700 (PDT)
X-Received: by 2002:a05:6902:c8:b0:633:ee0c:bca2 with SMTP id
i8-20020a05690200c800b00633ee0cbca2mr426927ybs.82.1649905243739; Wed, 13 Apr
2022 20:00:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 13 Apr 2022 20:00:43 -0700 (PDT)
In-Reply-To: <dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <2a3c9189-379c-4ea8-8227-eeaaf70ee84en@googlegroups.com>
<yRs5K.351418$Gojc.341861@fx99.iad> <33c2adf0-f82f-433a-997e-ea1f89532a83n@googlegroups.com>
<dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b78f5b70-8794-45bd-be6f-c6d92b2ebbd5n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: robin.vowels@gmail.com (Robin Vowels)
Injection-Date: Thu, 14 Apr 2022 03:00:43 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 28
 by: Robin Vowels - Thu, 14 Apr 2022 03:00 UTC

On Thursday, April 14, 2022 at 4:41:22 AM UTC+10, john.c...@simconglobal.com wrote:
> On Wednesday, April 13, 2022 at 7:09:17 AM UTC+1, Robin Vowels wrote:
> > .
> > How long would it take to write a program to read in a Fortran
> > program and change REAL(8) to REAL(dp) ?
> If the original code didn't have odd space characters, continuation lines and comments
> in silly places very little time at all. But I think that an issue here is that dp must be defined
> somewhere, and the definition added to every routine.
..
That can be added trivially on the same statement as the first REAL X (DP) :: ....
in a procedure, or all of them after the first statement of the procedure.
e.g., INTEGER, PARAMETER :: dp = KIND(1.0d0) ; REAL (dp) :: ...
..
> Inserting an INCLUDE file or USE statement into every Fortran sub-program is
> much more work than a 1-line sed script.
..
Try doing it in Fortran. Even inserting a line is trivial. Let it be USE
..
> We have done all this. But I think a simple, unambiguous declaration which didn't have any associated complexities would be useful. To that end REAL*8 is the best we have got, it works everywhere (at least that I know of) and doesn't need to be in the standard if everyone understands it.
..
What a mess.

Re: Standardize real*8 as real(kind=real64)?

<d87511e4-1620-4e28-b563-54cb31813883n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2110&group=comp.lang.fortran#2110

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:2946:b0:67b:3047:6d9d with SMTP id n6-20020a05620a294600b0067b30476d9dmr418205qkp.691.1649905440578;
Wed, 13 Apr 2022 20:04:00 -0700 (PDT)
X-Received: by 2002:a0d:ed46:0:b0:2eb:4513:3f4 with SMTP id
w67-20020a0ded46000000b002eb451303f4mr485421ywe.134.1649905440325; Wed, 13
Apr 2022 20:04:00 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 13 Apr 2022 20:04:00 -0700 (PDT)
In-Reply-To: <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <2a3c9189-379c-4ea8-8227-eeaaf70ee84en@googlegroups.com>
<yRs5K.351418$Gojc.341861@fx99.iad> <33c2adf0-f82f-433a-997e-ea1f89532a83n@googlegroups.com>
<dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com> <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d87511e4-1620-4e28-b563-54cb31813883n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: robin.vowels@gmail.com (Robin Vowels)
Injection-Date: Thu, 14 Apr 2022 03:04:00 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 42
 by: Robin Vowels - Thu, 14 Apr 2022 03:04 UTC

On Thursday, April 14, 2022 at 11:16:51 AM UTC+10, FortranFan wrote:
> On Wednesday, April 13, 2022 at 2:41:22 PM UTC-4, john.c...@simconglobal.com wrote:
>
> > .. I think a simple, unambiguous declaration which didn't have any associated complexities would be useful. To that end REAL*8 is the best we have got, it works everywhere (at least that I know of) and doesn't need to be in the standard if everyone understands it.
>
> REAL*8 comes with considerable confusion given the current state of nonstandard compiler implementations and it is not going to make it into the ISO IEC standard for Fortran.
>
> A "simple, unambiguous declaration" can be as suggested upthread i.e., IEEE_FPB64 where
>
> IEEE_FPB64 is an intrinsic (built-in) alias for REAL(KIND=K) where K = IEEE_SELECTED_REAL_KIND( P=15, R=307, RADIX=2 )
>
> Here IEEE_FPB64 is something a Fortran processor supporting IEEE_ARITHMETIC introduced Fortran 2003 must support intrinsically, meaning there will be no need for any USE statements.
>
> The introduction of IEEE_FPB64 can meet almost all the needs given the >9X.Y% (X, Y likely >8) of computing that is now done using IEEE floating-point arithmetic toward the binary64 format in the IEEE 60559:2011 standard.
>
> Note: the Fortran standard can also introduce IEEE_FPB32, IEEE_FPB128, IEEE_FPB256 for completeness to introduce intrinsic support for binart32, binary128, and binary256 formats from the IEEE 60559:2011 i.e., those that are colloquially understood to be single, quadruple, and octuple precision formats respectively. Additionally the standard can also introduce IEEE_FPD32, IEEE_FPD64, IEEE_FPD128 for the decimal formats since the IEEE_SELECTED_REAL_KIND also permits RADIX argument. The latter may not be supported by any real processor for a long, long time but it will be there for comprehensiveness.
>
> Refactoring, when needed, of "REAL*8" codes would be a simple string replacement to "IEEE_FPB64".
..
That's gobbledegook.
English words are better, such as REAL, etc.

Re: Standardize real*8 as real(kind=real64)?

<20f1bd12-c598-428b-aca1-86ba5f8f1af2n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2113&group=comp.lang.fortran#2113

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a37:6242:0:b0:69c:3994:8174 with SMTP id w63-20020a376242000000b0069c39948174mr2503364qkb.494.1649954130880;
Thu, 14 Apr 2022 09:35:30 -0700 (PDT)
X-Received: by 2002:a25:b0a5:0:b0:641:4c43:db00 with SMTP id
f37-20020a25b0a5000000b006414c43db00mr2424352ybj.478.1649954130610; Thu, 14
Apr 2022 09:35:30 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Thu, 14 Apr 2022 09:35:30 -0700 (PDT)
In-Reply-To: <d87511e4-1620-4e28-b563-54cb31813883n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=165.225.39.113; posting-account=ZZXq9AoAAAAQEcA7zKAGm0UFQh4gMBv7
NNTP-Posting-Host: 165.225.39.113
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <2a3c9189-379c-4ea8-8227-eeaaf70ee84en@googlegroups.com>
<yRs5K.351418$Gojc.341861@fx99.iad> <33c2adf0-f82f-433a-997e-ea1f89532a83n@googlegroups.com>
<dd1f7d59-6fde-4e91-a225-98d400b951b7n@googlegroups.com> <30d38da0-7192-45e2-809d-52f9b7e32d5cn@googlegroups.com>
<d87511e4-1620-4e28-b563-54cb31813883n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <20f1bd12-c598-428b-aca1-86ba5f8f1af2n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: parekhvs@gmail.com (FortranFan)
Injection-Date: Thu, 14 Apr 2022 16:35:30 +0000
Content-Type: text/plain; charset="UTF-8"
 by: FortranFan - Thu, 14 Apr 2022 16:35 UTC

On Wednesday, April 13, 2022 at 11:04:02 PM UTC-4, Robin Vowels wrote:

> On Thursday, April 14, 2022 at 11:16:51 AM UTC+10, FortranFan wrote:
> On Wednesday, April 13, 2022 at 2:41:22 PM UTC-4, john.c...@simconglobal.com wrote:
>
> > .. I think a simple, unambiguous declaration
>..
> > Refactoring, when needed, of "REAL*8" codes would be a simple string replacement to "IEEE_FPB64".
> .
> That's gobbledegook.
> English words are better, such as REAL, etc.

@Robin Vowels, re: your comments "That's gobbledegook," and "English words are better" no, you're absolutely wrong on both fronts.

"English words" in far too many situations absolutely fail to convey a "simple, unambiguous" declaration. The topic of this thread with REAL*8 is one such.

About the only thing that can work to achieve a "simple, unambiguous" to address the REAL*8 is an acronym that is also a mnemonic which is exactly what is IEEE_FPB64.

Re: Standardize real*8 as real(kind=real64)?

<jh49tdFtmjfU1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2396&group=comp.lang.fortran#2396

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Fri, 17 Jun 2022 23:27:09 +0200
Lines: 32
Message-ID: <jh49tdFtmjfU1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net jN30s1Fca0c+g5Z81GuXUAN3crWxu2VNwLYw7rzs7VeJf8hXzv
Cancel-Lock: sha1:4YtkQdJT/5hA+mqOKo6Tsa6RcSs=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
 by: pehache - Fri, 17 Jun 2022 21:27 UTC

Le 09/04/2022 à 16:05, Beliavsky a écrit :
> Since compilers treat the non-standard but very common
>
> real*4, real*8, integer*4, integer*8
>
> as
>
> use iso_fortran_env
> real(kind=real32), real(kind=real64), integer(kind=int32), integer(kind=int64)
>
> would it make sense to standardize the former set of declarations, which is concise and clear, to mean the same as the latter?

It could make sense, except that xxxx*n notations have never been
standardized

As noted by other contributors :
- both REAL*4 and REAL*8 were mapped to the 64 bits floating point type
on old CRAY computers
- REAL*4 was mapped to the 36 bits floating point on CDC, and REAL*8 to
72 bits.

So mapping REAL*4 to kind=real32 could break some legacy codes, as it
seems to me that kind=real32 is *required* to be stored on exactly 32 bits.

I have to admit that 36 bits machines are unlikely to show up again (but
how knows...), but compilers that would completely drop 32 flating point
support are not that unlikely in the future.

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<jh4b49FtrucU1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2397&group=comp.lang.fortran#2397

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Fri, 17 Jun 2022 23:47:53 +0200
Lines: 27
Message-ID: <jh4b49FtrucU1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<b4166732-03fe-4608-9581-6e7989162aa6n@googlegroups.com>
<55eef73f-2f17-4872-a402-2f859c7fc4b2n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net qT/lxNQ0auEo+LqyDrd3UARMYIxKvfn9Sooney9D7j7/DfwIJ5
Cancel-Lock: sha1:QB7b7eoXayri3/hbAPyHSLMxE5A=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <55eef73f-2f17-4872-a402-2f859c7fc4b2n@googlegroups.com>
 by: pehache - Fri, 17 Jun 2022 21:47 UTC

Le 09/04/2022 à 16:55, Robin Vowels a écrit :
> On Sunday, April 10, 2022 at 12:37:41 AM UTC+10, Beliavsky wrote:
>> On Saturday, April 9, 2022 at 10:05:29 AM UTC-4, Beliavsky wrote:
>>> Since compilers treat the non-standard but very common
>>>
>>> real*4, real*8, integer*4, integer*8
>>>
>>> as
>>>
>>> use iso_fortran_env
>>> real(kind=real32), real(kind=real64), integer(kind=int32), integer(kind=int64)
>>>
>>> would it make sense to standardize the former set of declarations, which is concise and clear, to mean the same as the latter?
>> Currently, if someone inherits a code with real*8 and decides to make it standard-conforming, they may replace it with
>> real(kind=8),
> .
> An appropriate replacement is real (kind=dp)
> (where dp is defined as kind(1.0d0)...)

If it was, the developers would have used DOUBLE PRECISION from the
begining, and not REAL*8

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<jh4bvjFu004U1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2398&group=comp.lang.fortran#2398

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 00:02:27 +0200
Lines: 40
Message-ID: <jh4bvjFu004U1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com>
<392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com>
<t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com>
<ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net TUdrYm2jGCstRoK1DIdi0A0YqKufoytwT6LZ+3bKSnPrM2LHd8
Cancel-Lock: sha1:WdHcRweToUkyzqbcImvpOtxXZD0=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <BJB5K.428392$t2Bb.353109@fx98.iad>
 by: pehache - Fri, 17 Jun 2022 22:02 UTC

Le 13/04/2022 à 17:10, Ron Shepard a écrit :
> On 4/13/22 2:44 AM, gah4 wrote:
>> On Tuesday, April 12, 2022 at 11:06:52 PM UTC-7, Robin Vowels wrote:
>>
>> (snip)
>>
>>> How many machines are using that offer only 64 bit reals?
>>
>> Cray-1, Cray-1A, Cray-1S, Cray-1M, Cray-X-MP, Cray-Y-MP, Cray-2
>> Cray-C90 Cray-EL90.
>
> I'm not sure exactly what this discussion is about, but fortran
> compilers on those computers also supported 128-bit reals. Double
> precision on those machines was slow, but it was there if you absolutely
> needed it.
>
> However, the FPS series of machines, which were also popular in the
> 1980s, did not support 128-bit arithmetic at all. They only supported
> 64-bit single precision floating point.
>
>> How many of each did they make, so we can add them all up?
>
> These were not personal computers, so the measure is not how many of the
> computers were made, but rather how many programmers and users had
> access to them. In my field of computational chemistry, that would be
> essentially every active programmer. In the 1980s, one could gain access
> in a variety of ways, through government agencies like NSF, NIH, DoD, or
> DOE, through state computer access programs, through universities, or
> through private employers. Those machines cast a huge shadow in their time.

Yep. And REAL*8 was by far the simplest way to have code running
efficiently on both these supercomputers and the unix workstations, when
~64bits precision was needed

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<9c0855b6-9790-4d89-96ea-4e92104e94e4n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2399&group=comp.lang.fortran#2399

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:4e09:b0:39c:6c5d:c753 with SMTP id b9-20020a05600c4e0900b0039c6c5dc753mr12414201wmq.34.1655505307899;
Fri, 17 Jun 2022 15:35:07 -0700 (PDT)
X-Received: by 2002:a0d:e28f:0:b0:317:89cb:b1ff with SMTP id
l137-20020a0de28f000000b0031789cbb1ffmr4668459ywe.288.1655505307323; Fri, 17
Jun 2022 15:35:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!pasdenom.info!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Fri, 17 Jun 2022 15:35:07 -0700 (PDT)
In-Reply-To: <jh4bvjFu004U1@mid.individual.net>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:6cda:38d:d0f1:9c0b;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:6cda:38d:d0f1:9c0b
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com> <ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad> <jh4bvjFu004U1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9c0855b6-9790-4d89-96ea-4e92104e94e4n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: gah4@u.washington.edu (gah4)
Injection-Date: Fri, 17 Jun 2022 22:35:07 +0000
Content-Type: text/plain; charset="UTF-8"
 by: gah4 - Fri, 17 Jun 2022 22:35 UTC

On Friday, June 17, 2022 at 3:02:31 PM UTC-7, pehache wrote:

(snip)

> Yep. And REAL*8 was by far the simplest way to have code running
> efficiently on both these supercomputers and the unix workstations, when
> ~64bits precision was needed

It seems, though, that REAL(8) is now very popular, and even taught in
some scientific computing courses. However, KIND values are not
standardized at all, and so that is less reasonable than REAL*8.

In the days of punched cards, less typing was important, though
the shift needed for the * made it slightly harder.

Re: Standardize real*8 as real(kind=real64)?

<jh4f2uFueg7U1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2400&group=comp.lang.fortran#2400

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 00:55:26 +0200
Lines: 92
Message-ID: <jh4f2uFueg7U1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net jO8Eglsu2XvS8MtfoytDagmneplTJf3XATv3VCwTA7lUnC4aFM
Cancel-Lock: sha1:ExQOeRTCV447dRVebChmIexGtok=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <1bj4K.210690$OT%7.139979@fx07.iad>
 by: pehache - Fri, 17 Jun 2022 22:55 UTC

Le 09/04/2022 à 19:15, Ron Shepard a écrit :
> On 4/9/22 9:05 AM, Beliavsky wrote:
>> Since compilers treat the non-standard but very common
>>
>> real*4, real*8, integer*4, integer*8
>>
>> as
>>
>> use iso_fortran_env
>> real(kind=real32), real(kind=real64), integer(kind=int32),
>> integer(kind=int64)
>>
>> would it make sense to standardize the former set of declarations,
>> which is concise and clear, to mean the same as the latter?
>
> In my opinion, this would be a step backward for the language.
>
> There are many reasons why this should not be done, but one of them is
> that REAL*4 etc. were always just defined by the local compiler to map
> to its supported floating point formats. For byte addressable machines,
> that meant that your suggested mapping would be correct. But there are
> also 36-bit, 60-bit, and 64-bit machines that cannot conform to those
> mappings, so they must do something different. In the f77 time in the
> 1980s, I used those declarations extensively for exactly that reason, it
> was a way, with some care, to write portable (but nonstandard) code. I
> used REAL*8 declarations to run on machines with all of those word
> lengths. It wasn't pretty, but it served its purpose at the time.
>
> But now we have the fortran KIND system, which handles all of that much
> better. Yes, when you incorporate old f66 and f77 code into your current
> project, you need to edit in those changes, but that is not a big deal.
> Your minimal efforts are rewarded with clarity and portability. I have
> programs with hundreds of thousands of lines where I can change the
> precision globally by modifying a single line of code in a module. From
> the programmer's perspective, that is hard to beat.
>
> Numerical analysts are now experimenting with 16-bit real arithmetic to
> speed up critical parts of algorithms. If/when they get that working,
> the fortran KIND system is already set up to handle that. IEEE decimal
> arithmetic is another feature raising its head on the horizon. Again,
> the fortran KIND system is already there and waiting. 10-byte arithmetic
> is another example (although some compilers are currently doing this the
> wrong way, I think). 128-bit arithmetic and beyond, both reals and
> integers, are all handled perfectly well with the fortran KIND system.
>
> If a compiler supports real types with those numbers of bits (real32,
> real64, etc.), then the kind values are set appropriately. If there is
> more than one kind with that many bits, then the processor chooses which
> one to return. If the processor does not support a kind with exactly
> those bits, then the processor sets the value to either -1 or -2. The -2
> value means that some kind is available with higher precision. This
> might not be the best way to write portable code, but if you want to
> write code targeted to specific floating point formats, that is a
> reasonable way to do it. The IEEE intrinsic module goes even further if
> code is intended to target that floating point format, rounding modes,
> NaN, subnormals, etc., all available within the fortran KIND system.
> This is all in contrast to REAL*4, REAL*8, etc, which are mapped in a
> very loose manner to the underlying supported floating point formats.
>
> I think the fortran KIND system is well thought out and it works well in
> practice.

And yet, it still lacks something as simple as REAL*8, which would
select either the default REAL or the DOUBLE PRECISION, and nothing else.

kind=real64 is almost that, except that:
- it may not exist
- nothing garantees that real64 is kind(1.0) or kind(1.0d0)

OK, as of today there's probably no compiler where real64 does not exist
(or does exist but is inefficient). Nevertheless it can happen one day
or another...

I used to write:

integer, parameter :: sp = kind(1.0)
integer, parameter :: dp = kind(1.0d0)
integer, parameter :: sp_is_enough = min(max(precision(sp)-9,1),0)
integer, parameter :: double = sp*sp_is_enough + dp*(1-sp_is_enough)

so REAL(kind=double) is similar to the C "double", which is only
required to have at least 10 digits precision, and which can be
identical to "float". And most importantly it is always, and will always
be, defined.

kind=sp, kind=dp, and kind=double, cover 99.99% of the needs.

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<t8j4f4$9af$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2401&group=comp.lang.fortran#2401

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: lynnmcguire5@gmail.com (Lynn McGuire)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Fri, 17 Jun 2022 18:58:26 -0500
Organization: A noiseless patient Spider
Lines: 38
Message-ID: <t8j4f4$9af$1@dont-email.me>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<jh49tdFtmjfU1@mid.individual.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 17 Jun 2022 23:58:28 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="c9e4d9c5a642ece6b31de4c404c2ccd8";
logging-data="9551"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18x1gbSZkGzuAo9T479oe38"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:4NHKrH+TI/nU85Rql5Fnxg3yrhA=
In-Reply-To: <jh49tdFtmjfU1@mid.individual.net>
Content-Language: en-US
 by: Lynn McGuire - Fri, 17 Jun 2022 23:58 UTC

On 6/17/2022 4:27 PM, pehache wrote:
> Le 09/04/2022 à 16:05, Beliavsky a écrit :
>> Since compilers treat the non-standard but very common
>>
>> real*4, real*8, integer*4, integer*8
>>
>> as
>>
>> use iso_fortran_env
>> real(kind=real32), real(kind=real64), integer(kind=int32),
>> integer(kind=int64)
>>
>> would it make sense to standardize the former set of declarations,
>> which is concise and clear, to mean the same as the latter?
>
> It could make sense, except that xxxx*n notations have never been
> standardized
>
> As noted by other contributors :
> - both REAL*4 and REAL*8 were mapped to the 64 bits floating point type
> on old CRAY computers
> - REAL*4 was mapped to the 36 bits floating point on CDC, and REAL*8 to
> 72 bits.
>
> So mapping REAL*4 to kind=real32 could break some legacy codes, as it
> seems to me that kind=real32 is *required* to be stored on exactly 32 bits.
>
> I have to admit that 36 bits machines are unlikely to show up again (but
> how knows...), but compilers that would completely drop 32 flating point
> support are not that unlikely in the future.

The CDC 7600 that I programmed on back in the 1970s was 60 bit words.
REAL*4 was mapped to the 60 bit word.

The UNIVAC 1108 was 36 bit words back in the 1970s. REAL*4 was mapped
to the 36 bit word.

Lynn

Re: Standardize real*8 as real(kind=real64)?

<5385a3ed-fbb5-402d-96cb-a2b83cd9e882n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2403&group=comp.lang.fortran#2403

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:4f47:b0:39c:62cc:75da with SMTP id m7-20020a05600c4f4700b0039c62cc75damr23222515wmq.114.1655512297863;
Fri, 17 Jun 2022 17:31:37 -0700 (PDT)
X-Received: by 2002:a81:1341:0:b0:30c:3a7e:65e9 with SMTP id
62-20020a811341000000b0030c3a7e65e9mr15058382ywt.7.1655512297309; Fri, 17 Jun
2022 17:31:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Fri, 17 Jun 2022 17:31:37 -0700 (PDT)
In-Reply-To: <t8j4f4$9af$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:21f0:e94d:5477:b57f;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:21f0:e94d:5477:b57f
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<jh49tdFtmjfU1@mid.individual.net> <t8j4f4$9af$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5385a3ed-fbb5-402d-96cb-a2b83cd9e882n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: gah4@u.washington.edu (gah4)
Injection-Date: Sat, 18 Jun 2022 00:31:37 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1821
 by: gah4 - Sat, 18 Jun 2022 00:31 UTC

On Friday, June 17, 2022 at 4:58:32 PM UTC-7, Lynn McGuire wrote:

(snip)
> The CDC 7600 that I programmed on back in the 1970s was 60 bit words.
> REAL*4 was mapped to the 60 bit word.
> The UNIVAC 1108 was 36 bit words back in the 1970s. REAL*4 was mapped
> to the 36 bit word.

I am not sure about REAL*4 and the PDP-10's 36 bit word, but I do
remember that REAL*8 got the double precision 72 bit word.
(Actually, there are two PDP-10 double precisions, one for the machines
without double precision hardware that do it in software, the other
for ones with the hardware.

Re: Standardize real*8 as real(kind=real64)?

<881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2405&group=comp.lang.fortran#2405

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:4fcb:b0:39c:64cd:cc89 with SMTP id o11-20020a05600c4fcb00b0039c64cdcc89mr23592807wmq.197.1655518226183;
Fri, 17 Jun 2022 19:10:26 -0700 (PDT)
X-Received: by 2002:a0d:e28f:0:b0:317:89cb:b1ff with SMTP id
l137-20020a0de28f000000b0031789cbb1ffmr5434004ywe.288.1655518225635; Fri, 17
Jun 2022 19:10:25 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Fri, 17 Jun 2022 19:10:25 -0700 (PDT)
In-Reply-To: <jh4bvjFu004U1@mid.individual.net>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com> <ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad> <jh4bvjFu004U1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: robin.vowels@gmail.com (Robin Vowels)
Injection-Date: Sat, 18 Jun 2022 02:10:26 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Robin Vowels - Sat, 18 Jun 2022 02:10 UTC

On Saturday, June 18, 2022 at 8:02:31 AM UTC+10, pehache wrote:
> Le 13/04/2022 à 17:10, Ron Shepard a écrit :
> > On 4/13/22 2:44 AM, gah4 wrote:
> >> On Tuesday, April 12, 2022 at 11:06:52 PM UTC-7, Robin Vowels wrote:
> >>
> >> (snip)
> >>
> >>> How many machines are using that offer only 64 bit reals?
> >>
> >> Cray-1, Cray-1A, Cray-1S, Cray-1M, Cray-X-MP, Cray-Y-MP, Cray-2
> >> Cray-C90 Cray-EL90.
> >
> > I'm not sure exactly what this discussion is about, but fortran
> > compilers on those computers also supported 128-bit reals. Double
> > precision on those machines was slow, but it was there if you absolutely
> > needed it.
> >
> > However, the FPS series of machines, which were also popular in the
> > 1980s, did not support 128-bit arithmetic at all. They only supported
> > 64-bit single precision floating point.
> >
> >> How many of each did they make, so we can add them all up?
> >
> > These were not personal computers, so the measure is not how many of the
> > computers were made, but rather how many programmers and users had
> > access to them. In my field of computational chemistry, that would be
> > essentially every active programmer. In the 1980s, one could gain access
> > in a variety of ways, through government agencies like NSF, NIH, DoD, or
> > DOE, through state computer access programs, through universities, or
> > through private employers. Those machines cast a huge shadow in their time.
> Yep. And REAL*8 was by far the simplest way to have code running
> efficiently on both these supercomputers and the unix workstations, when
> ~64bits precision was needed
..
DOUBLE PRECISION was clear and unequivocal (and STANDARD).

Re: Standardize real*8 as real(kind=real64)?

<736228be-077a-4bd1-bc41-36649cf0967en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2406&group=comp.lang.fortran#2406

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:adf:df8e:0:b0:210:2e5c:695d with SMTP id z14-20020adfdf8e000000b002102e5c695dmr11743537wrl.423.1655518885336;
Fri, 17 Jun 2022 19:21:25 -0700 (PDT)
X-Received: by 2002:a25:84c1:0:b0:668:cce5:42ce with SMTP id
x1-20020a2584c1000000b00668cce542cemr2401635ybm.456.1655518884718; Fri, 17
Jun 2022 19:21:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Fri, 17 Jun 2022 19:21:24 -0700 (PDT)
In-Reply-To: <jh4f2uFueg7U1@mid.individual.net>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <736228be-077a-4bd1-bc41-36649cf0967en@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: robin.vowels@gmail.com (Robin Vowels)
Injection-Date: Sat, 18 Jun 2022 02:21:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 6545
 by: Robin Vowels - Sat, 18 Jun 2022 02:21 UTC

On Saturday, June 18, 2022 at 8:55:30 AM UTC+10, pehache wrote:
> Le 09/04/2022 à 19:15, Ron Shepard a écrit :
> > On 4/9/22 9:05 AM, Beliavsky wrote:
> >> Since compilers treat the non-standard but very common
> >>
> >> real*4, real*8, integer*4, integer*8
> >>
> >> as
> >>
> >> use iso_fortran_env
> >> real(kind=real32), real(kind=real64), integer(kind=int32),
> >> integer(kind=int64)
> >>
> >> would it make sense to standardize the former set of declarations,
> >> which is concise and clear, to mean the same as the latter?
> >
> > In my opinion, this would be a step backward for the language.
> >
> > There are many reasons why this should not be done, but one of them is
> > that REAL*4 etc. were always just defined by the local compiler to map
> > to its supported floating point formats. For byte addressable machines,
> > that meant that your suggested mapping would be correct. But there are
> > also 36-bit, 60-bit, and 64-bit machines that cannot conform to those
> > mappings, so they must do something different. In the f77 time in the
> > 1980s, I used those declarations extensively for exactly that reason, it
> > was a way, with some care, to write portable (but nonstandard) code. I
> > used REAL*8 declarations to run on machines with all of those word
> > lengths. It wasn't pretty, but it served its purpose at the time.
> >
> > But now we have the fortran KIND system, which handles all of that much
> > better. Yes, when you incorporate old f66 and f77 code into your current
> > project, you need to edit in those changes, but that is not a big deal.
> > Your minimal efforts are rewarded with clarity and portability. I have
> > programs with hundreds of thousands of lines where I can change the
> > precision globally by modifying a single line of code in a module. From
> > the programmer's perspective, that is hard to beat.
> >
> > Numerical analysts are now experimenting with 16-bit real arithmetic to
> > speed up critical parts of algorithms. If/when they get that working,
> > the fortran KIND system is already set up to handle that. IEEE decimal
> > arithmetic is another feature raising its head on the horizon. Again,
> > the fortran KIND system is already there and waiting. 10-byte arithmetic
> > is another example (although some compilers are currently doing this the
> > wrong way, I think). 128-bit arithmetic and beyond, both reals and
> > integers, are all handled perfectly well with the fortran KIND system.
> >
> > If a compiler supports real types with those numbers of bits (real32,
> > real64, etc.), then the kind values are set appropriately. If there is
> > more than one kind with that many bits, then the processor chooses which
> > one to return. If the processor does not support a kind with exactly
> > those bits, then the processor sets the value to either -1 or -2. The -2
> > value means that some kind is available with higher precision. This
> > might not be the best way to write portable code, but if you want to
> > write code targeted to specific floating point formats, that is a
> > reasonable way to do it. The IEEE intrinsic module goes even further if
> > code is intended to target that floating point format, rounding modes,
> > NaN, subnormals, etc., all available within the fortran KIND system.
> > This is all in contrast to REAL*4, REAL*8, etc, which are mapped in a
> > very loose manner to the underlying supported floating point formats.
> >
> > I think the fortran KIND system is well thought out and it works well in
> > practice.
>
> And yet, it still lacks something as simple as REAL*8, which would
> select either the default REAL or the DOUBLE PRECISION, and nothing else.
..
Are you not overlooking the fact that you can have a single statement
in an entire program of hundreds of functions and subroutines
that sets the precision required? And which can be changed to set the
precision required? -- and it saves considerably more typing than what you propose.

> kind=real64 is almost that, except that:
> - it may not exist
> - nothing garantees that real64 is kind(1.0) or kind(1.0d0)
>
> OK, as of today there's probably no compiler where real64 does not exist
> (or does exist but is inefficient). Nevertheless it can happen one day
> or another...
>
> I used to write:
>
> integer, parameter :: sp = kind(1.0)
> integer, parameter :: dp = kind(1.0d0)
> integer, parameter :: sp_is_enough = min(max(precision(sp)-9,1),0)
> integer, parameter :: double = sp*sp_is_enough + dp*(1-sp_is_enough)
..
This last line won't work in some compilers.
..
> so REAL(kind=double) is similar to the C "double", which is only
> required to have at least 10 digits precision, and which can be
> identical to "float". And most importantly it is always, and will always
> be, defined.
>
> kind=sp, kind=dp, and kind=double, cover 99.99% of the needs.

Re: Standardize real*8 as real(kind=real64)?

<jh566rF38puU1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2407&group=comp.lang.fortran#2407

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 07:30:03 +0200
Lines: 27
Message-ID: <jh566rF38puU1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com>
<392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com>
<t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com>
<ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad> <jh4bvjFu004U1@mid.individual.net>
<881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net RiFgf5Y+BNWCzH7jQh5B4Q6ZzX2Z2ZL8fMfTRzwWk61DWMTv8g
Cancel-Lock: sha1:hvbOI7282I1XRpEVTacoepDo470=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com>
 by: pehache - Sat, 18 Jun 2022 05:30 UTC

Le 18/06/2022 à 04:10, Robin Vowels a écrit :

>>>
>>> These were not personal computers, so the measure is not how many of the
>>> computers were made, but rather how many programmers and users had
>>> access to them. In my field of computational chemistry, that would be
>>> essentially every active programmer. In the 1980s, one could gain access
>>> in a variety of ways, through government agencies like NSF, NIH, DoD, or
>>> DOE, through state computer access programs, through universities, or
>>> through private employers. Those machines cast a huge shadow in their time.
>>
>> Yep. And REAL*8 was by far the simplest way to have code running
>> efficiently on both these supercomputers and the unix workstations, when
>> ~64bits precision was needed
> .
> DOUBLE PRECISION was clear and unequivocal (and STANDARD).

And a full waste of resources (both CPU time and memory) on a Cray, as
it was 128 bits software emulated.

When you were lucky enough to have access to such machines back then, it
was a crime to use DOUBLE PRECISION where REAL was enough.

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<jh56iuF3aa9U1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2408&group=comp.lang.fortran#2408

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 07:36:30 +0200
Lines: 19
Message-ID: <jh56iuF3aa9U1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
<736228be-077a-4bd1-bc41-36649cf0967en@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net QxF/t+fMMm/yf2HEpIHOxwr4oJk83QCySTFIckKtLaww6r4jVT
Cancel-Lock: sha1:8FjSzEMI1k0Ykwj9ljK5hwux1ow=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <736228be-077a-4bd1-bc41-36649cf0967en@googlegroups.com>
 by: pehache - Sat, 18 Jun 2022 05:36 UTC

Le 18/06/2022 à 04:21, Robin Vowels a écrit :
>>
>> I used to write:
>>
>> integer, parameter :: sp = kind(1.0)
>> integer, parameter :: dp = kind(1.0d0)
>> integer, parameter :: sp_is_enough = min(max(precision(sp)-9,1),0)
>> integer, parameter :: double = sp*sp_is_enough + dp*(1-sp_is_enough)
> .
> This last line won't work in some compilers.
> .

Isn't it a constant expression ?

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<6f328b30-4e4a-4e2a-bdf2-cadc159d9895n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2409&group=comp.lang.fortran#2409

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:2241:b0:39c:405f:fba5 with SMTP id a1-20020a05600c224100b0039c405ffba5mr25477275wmm.75.1655555668721;
Sat, 18 Jun 2022 05:34:28 -0700 (PDT)
X-Received: by 2002:a25:380a:0:b0:668:a62e:de85 with SMTP id
f10-20020a25380a000000b00668a62ede85mr12382278yba.218.1655555668163; Sat, 18
Jun 2022 05:34:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.128.88.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sat, 18 Jun 2022 05:34:28 -0700 (PDT)
In-Reply-To: <jh566rF38puU1@mid.individual.net>
Injection-Info: google-groups.googlegroups.com; posting-host=202.67.103.232; posting-account=S_MdrwoAAAD7T2pxG2e393dk6y0tc0Le
NNTP-Posting-Host: 202.67.103.232
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com> <392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com> <t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com> <ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad> <jh4bvjFu004U1@mid.individual.net>
<881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com> <jh566rF38puU1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6f328b30-4e4a-4e2a-bdf2-cadc159d9895n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: robin.vowels@gmail.com (Robin Vowels)
Injection-Date: Sat, 18 Jun 2022 12:34:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Robin Vowels - Sat, 18 Jun 2022 12:34 UTC

On Saturday, June 18, 2022 at 3:30:07 PM UTC+10, pehache wrote:
> Le 18/06/2022 à 04:10, Robin Vowels a écrit :
>
> >>>
> >>> These were not personal computers, so the measure is not how many of the
> >>> computers were made, but rather how many programmers and users had
> >>> access to them. In my field of computational chemistry, that would be
> >>> essentially every active programmer. In the 1980s, one could gain access
> >>> in a variety of ways, through government agencies like NSF, NIH, DoD, or
> >>> DOE, through state computer access programs, through universities, or
> >>> through private employers. Those machines cast a huge shadow in their time.
> >>
> >> Yep. And REAL*8 was by far the simplest way to have code running
> >> efficiently on both these supercomputers and the unix workstations, when
> >> ~64bits precision was needed
> > .
> > DOUBLE PRECISION was clear and unequivocal (and STANDARD).
> And a full waste of resources (both CPU time and memory) on a Cray, as
> it was 128 bits software emulated.
>
> When you were lucky enough to have access to such machines back then, it
> was a crime to use DOUBLE PRECISION where REAL was enough.
..
In that case, you used REAL.

Re: Standardize real*8 as real(kind=real64)?

<jh6clvFbu3vU1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2411&group=comp.lang.fortran#2411

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 18:26:38 +0200
Lines: 23
Message-ID: <jh6clvFbu3vU1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<f520ba36-83fe-4ba1-a444-64c82a92559cn@googlegroups.com>
<392becf1-044b-4800-b85c-1d744e91a55cn@googlegroups.com>
<07c52bfd-9b23-4672-adf4-ba24cad094b5n@googlegroups.com>
<t34lac$utb$1@dont-email.me>
<f112d480-3ecf-4d92-84e0-56176111738dn@googlegroups.com>
<ee6e22a7-f32c-4177-9edb-14c032b9ea05n@googlegroups.com>
<BJB5K.428392$t2Bb.353109@fx98.iad> <jh4bvjFu004U1@mid.individual.net>
<881886a1-5d05-46c3-806d-cba5be43566cn@googlegroups.com>
<jh566rF38puU1@mid.individual.net>
<6f328b30-4e4a-4e2a-bdf2-cadc159d9895n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net dDPOirRyE1KTlLVyh+iPkAwnnpN3P1J8VwSqpk0AWrlm2KFWO2
Cancel-Lock: sha1:EFRTPtIL/6FGoW00w/kyIeQXlR0=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <6f328b30-4e4a-4e2a-bdf2-cadc159d9895n@googlegroups.com>
 by: pehache - Sat, 18 Jun 2022 16:26 UTC

Le 18/06/2022 à 14:34, Robin Vowels a écrit :

>>> .
>>> DOUBLE PRECISION was clear and unequivocal (and STANDARD).
>> And a full waste of resources (both CPU time and memory) on a Cray, as
>> it was 128 bits software emulated.
>>
>> When you were lucky enough to have access to such machines back then, it
>> was a crime to use DOUBLE PRECISION where REAL was enough.
> .
> In that case, you used REAL.

You forgot what I wrote in a previous message: "...code running
efficiently on both these supercomputers and the unix workstations..."

People who had access to a Cray at the times also had classical unix
workstations, with compilers defaulting REAL to 32 bits as usual. Many
codes had to run on both machines.

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<jh6nt3Fdm3mU1@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2413&group=comp.lang.fortran#2413

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 21:38:10 +0200
Lines: 38
Message-ID: <jh6nt3Fdm3mU1@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net eOrBvp0mYz46lQAL5fQh7gos8hChivocgAMysCklV0dkNXTI91
Cancel-Lock: sha1:vCGVGCpfD4ZiHSq/En8Hee8TLeE=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <jh4f2uFueg7U1@mid.individual.net>
 by: pehache - Sat, 18 Jun 2022 19:38 UTC

Le 18/06/2022 à 00:55, pehache a écrit :
>
> And yet, it still lacks something as simple as REAL*8, which would
> select either the default REAL or the DOUBLE PRECISION, and nothing else.
>
> kind=real64 is almost that, except that:
> - it may not exist
> - nothing garantees that real64 is kind(1.0) or kind(1.0d0)
>
> OK, as of today there's probably no compiler where real64 does not exist
> (or does exist but is inefficient). Nevertheless it can happen one day
> or another...
>
> I used to write:
>
> integer, parameter :: sp = kind(1.0)
> integer, parameter :: dp = kind(1.0d0)
> integer, parameter :: sp_is_enough = min(max(precision(sp)-9,1),0)
> integer, parameter :: double = sp*sp_is_enough + dp*(1-sp_is_enough)
>
> so REAL(kind=double) is similar to the C "double", which is only
> required to have at least 10 digits precision, and which can be
> identical to "float". And most importantly it is always, and will always
> be, defined.
>
> kind=sp, kind=dp, and kind=double, cover 99.99% of the needs.
>
>

I am just discovering the stdlib kinds module... REAL(kind=dp) might be
the quasi-standard substitute for REAL*8. If I understand correctly "dp"
is just an alias to "c_double" in ISO_BIND_C. Good point : it is always
defined.

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<jh6ntuFdm3mU2@mid.individual.net>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2414&group=comp.lang.fortran#2414

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: pehache.7@gmail.com (pehache)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 21:38:38 +0200
Lines: 42
Message-ID: <jh6ntuFdm3mU2@mid.individual.net>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
<jh6nt3Fdm3mU1@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net JEs6jrVAoq1Lz6f8Dzdi5QjOdDIqnySBR3+STSEluLwy+XFpr7
Cancel-Lock: sha1:V2pHQzVeP+Zr+vsIWfD3Bf2Ysdw=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.10.0
Content-Language: fr
In-Reply-To: <jh6nt3Fdm3mU1@mid.individual.net>
 by: pehache - Sat, 18 Jun 2022 19:38 UTC

Le 18/06/2022 à 21:38, pehache a écrit :
> Le 18/06/2022 à 00:55, pehache a écrit :
>>
>> And yet, it still lacks something as simple as REAL*8, which would
>> select either the default REAL or the DOUBLE PRECISION, and nothing else.
>>
>> kind=real64 is almost that, except that:
>> - it may not exist
>> - nothing garantees that real64 is kind(1.0) or kind(1.0d0)
>>
>> OK, as of today there's probably no compiler where real64 does not
>> exist (or does exist but is inefficient). Nevertheless it can happen
>> one day or another...
>>
>> I used to write:
>>
>> integer, parameter :: sp = kind(1.0)
>> integer, parameter :: dp = kind(1.0d0)
>> integer, parameter :: sp_is_enough = min(max(precision(sp)-9,1),0)
>> integer, parameter :: double = sp*sp_is_enough + dp*(1-sp_is_enough)
>>
>> so REAL(kind=double) is similar to the C "double", which is only
>> required to have at least 10 digits precision, and which can be
>> identical to "float". And most importantly it is always, and will
>> always be, defined.
>>
>> kind=sp, kind=dp, and kind=double, cover 99.99% of the needs.
>>
>>
>
> I am just discovering the stdlib kinds module... REAL(kind=dp) might be
> the quasi-standard substitute for REAL*8. If I understand correctly "dp"
> is just an alias to "c_double" in ISO_BIND_C. Good point : it is always
> defined.
>

https://stdlib.fortran-lang.org/page/specs/stdlib_kinds.html

--
"...sois ouvert aux idées des autres pour peu qu'elles aillent dans le
même sens que les tiennes.", ST sur fr.bio.medecine
ST passe le mur du çon : <j3nn2hFmqj7U1@mid.individual.net>

Re: Standardize real*8 as real(kind=real64)?

<t8la0v$1dj1$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2415&group=comp.lang.fortran#2415

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!aioe.org!SsQ9R6/+Je+mewmUvumc7g.user.46.165.242.75.POSTED!not-for-mail
From: helbig@asclothestro.multivax.de (Phillip Helbig (undress to reply)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 19:45:35 -0000 (UTC)
Organization: Multivax C&R
Message-ID: <t8la0v$1dj1$1@gioia.aioe.org>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com> <1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net> <jh6nt3Fdm3mU1@mid.individual.net> <jh6ntuFdm3mU2@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="46689"; posting-host="SsQ9R6/+Je+mewmUvumc7g.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
 by: Phillip Helbig (undr - Sat, 18 Jun 2022 19:45 UTC

> >> integer, parameter :: sp = kind(1.0)
> >> integer, parameter :: dp = kind(1.0d0)

In such cases, why not just write REAL and DOUBLE PRECISION? The
results will be exactly the same.

If you are going to use KIND, then don't call it something like sp or dp
which is confusing if you change the definition (sort of the point of
KIND); if you won't ever change it, just use REAL and DOUBLE PRECISION:
completely clear, completely standard.

Re: Standardize real*8 as real(kind=real64)?

<88433631-0744-4418-b371-90bd0a4b463bn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2416&group=comp.lang.fortran#2416

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:4fcb:b0:39c:64cd:cc89 with SMTP id o11-20020a05600c4fcb00b0039c64cdcc89mr27316904wmq.197.1655582568260;
Sat, 18 Jun 2022 13:02:48 -0700 (PDT)
X-Received: by 2002:a05:6902:72a:b0:660:fb42:65e8 with SMTP id
l10-20020a056902072a00b00660fb4265e8mr18290954ybt.499.1655582567543; Sat, 18
Jun 2022 13:02:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sat, 18 Jun 2022 13:02:47 -0700 (PDT)
In-Reply-To: <t8la0v$1dj1$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:f84d:b839:ab1d:5108;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:f84d:b839:ab1d:5108
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
<jh6nt3Fdm3mU1@mid.individual.net> <jh6ntuFdm3mU2@mid.individual.net> <t8la0v$1dj1$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <88433631-0744-4418-b371-90bd0a4b463bn@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: gah4@u.washington.edu (gah4)
Injection-Date: Sat, 18 Jun 2022 20:02:48 +0000
Content-Type: text/plain; charset="UTF-8"
 by: gah4 - Sat, 18 Jun 2022 20:02 UTC

On Saturday, June 18, 2022 at 12:45:40 PM UTC-7, Phillip Helbig (undress to reply) wrote:
> > >> integer, parameter :: sp = kind(1.0)
> > >> integer, parameter :: dp = kind(1.0d0)

> In such cases, why not just write REAL and DOUBLE PRECISION? The
> results will be exactly the same.
> If you are going to use KIND, then don't call it something like sp or dp
> which is confusing if you change the definition (sort of the point of
> KIND); if you won't ever change it, just use REAL and DOUBLE PRECISION:
> completely clear, completely standard.

Well, some then define wp, working precision, which is either sp or dp.
So you only have to change one place.

But in the days before KIND, it was also somewhat common to have
different sets of constants for different machines. There might at
least be an EPSILON, but sometimes whole polynomial approximations
that were different for different machines.

They would then have comments for the ones you weren't using.

One trick from the card days was a C in column 80. You then reverse
the card, and to end, so the C is in column 1. Just for the ones
you don't want to use.

With computer editors, the complications are different, but usually
it isn't so hard to select the ones you want.

Re: Standardize real*8 as real(kind=real64)?

<f96283d1-63ff-45d4-88d5-80b08f2d2b67n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2419&group=comp.lang.fortran#2419

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:1e1c:b0:39c:65a1:7c3a with SMTP id ay28-20020a05600c1e1c00b0039c65a17c3amr27701452wmb.6.1655586351847;
Sat, 18 Jun 2022 14:05:51 -0700 (PDT)
X-Received: by 2002:a05:6902:100d:b0:665:f7e:10c4 with SMTP id
w13-20020a056902100d00b006650f7e10c4mr18827506ybt.494.1655586351241; Sat, 18
Jun 2022 14:05:51 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.128.88.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sat, 18 Jun 2022 14:05:51 -0700 (PDT)
In-Reply-To: <88433631-0744-4418-b371-90bd0a4b463bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=115.189.128.139; posting-account=KnYfEgoAAAD1tUJTvdAUZ3XojNa5tezZ
NNTP-Posting-Host: 115.189.128.139
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
<jh6nt3Fdm3mU1@mid.individual.net> <jh6ntuFdm3mU2@mid.individual.net>
<t8la0v$1dj1$1@gioia.aioe.org> <88433631-0744-4418-b371-90bd0a4b463bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f96283d1-63ff-45d4-88d5-80b08f2d2b67n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: harperjf2@gmail.com (jfh)
Injection-Date: Sat, 18 Jun 2022 21:05:51 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: jfh - Sat, 18 Jun 2022 21:05 UTC

On Sunday, June 19, 2022 at 8:02:51 AM UTC+12, gah4 wrote:
>
> Well, some then define wp, working precision, which is either sp or dp.
> So you only have to change one place.

I use wp a lot but with the gfortran compiler I sometimes use selected_real(kind(prec)) where prec is any of 6,15,18,33 because the smaller ones are useful for checking the program and they run faster, but 33 is needed for high accuracy in one of my programs.

Re: Standardize real*8 as real(kind=real64)?

<59622490-8dab-41c0-b5d9-7c8d40f0f4b3n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2420&group=comp.lang.fortran#2420

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:600c:1e1c:b0:39c:65a1:7c3a with SMTP id ay28-20020a05600c1e1c00b0039c65a17c3amr28116478wmb.6.1655594868494;
Sat, 18 Jun 2022 16:27:48 -0700 (PDT)
X-Received: by 2002:a81:1154:0:b0:2fe:d5a4:f26b with SMTP id
81-20020a811154000000b002fed5a4f26bmr19901443ywr.140.1655594868010; Sat, 18
Jun 2022 16:27:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.87.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sat, 18 Jun 2022 16:27:47 -0700 (PDT)
In-Reply-To: <f96283d1-63ff-45d4-88d5-80b08f2d2b67n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=173.49.135.235; posting-account=ZZXq9AoAAAAQEcA7zKAGm0UFQh4gMBv7
NNTP-Posting-Host: 173.49.135.235
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<1bj4K.210690$OT%7.139979@fx07.iad> <jh4f2uFueg7U1@mid.individual.net>
<jh6nt3Fdm3mU1@mid.individual.net> <jh6ntuFdm3mU2@mid.individual.net>
<t8la0v$1dj1$1@gioia.aioe.org> <88433631-0744-4418-b371-90bd0a4b463bn@googlegroups.com>
<f96283d1-63ff-45d4-88d5-80b08f2d2b67n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <59622490-8dab-41c0-b5d9-7c8d40f0f4b3n@googlegroups.com>
Subject: Re: Standardize real*8 as real(kind=real64)?
From: parekhvs@gmail.com (FortranFan)
Injection-Date: Sat, 18 Jun 2022 23:27:48 +0000
Content-Type: text/plain; charset="UTF-8"
 by: FortranFan - Sat, 18 Jun 2022 23:27 UTC

On Saturday, June 18, 2022 at 5:05:54 PM UTC-4, jfh wrote:

> .. I sometimes use selected_real(kind(prec)) where prec is any of 6,15,18,33 ..

You meant selected_real_kind(prec)?

Re: Standardize real*8 as real(kind=real64)?

<t8loua$9us$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2421&group=comp.lang.fortran#2421

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: lynnmcguire5@gmail.com (Lynn McGuire)
Newsgroups: comp.lang.fortran
Subject: Re: Standardize real*8 as real(kind=real64)?
Date: Sat, 18 Jun 2022 19:00:09 -0500
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <t8loua$9us$1@dont-email.me>
References: <c56c4a4c-161f-4608-9a30-756894030f29n@googlegroups.com>
<jh49tdFtmjfU1@mid.individual.net> <t8j4f4$9af$1@dont-email.me>
<5385a3ed-fbb5-402d-96cb-a2b83cd9e882n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 19 Jun 2022 00:00:10 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="193a549494868c42027a861c54a6d9dc";
logging-data="10204"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+QfqEE3LHMXglxEFyYZUYQ"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.10.0
Cancel-Lock: sha1:le/GwwF2PJcA/eSG9Jw1sloy1xo=
In-Reply-To: <5385a3ed-fbb5-402d-96cb-a2b83cd9e882n@googlegroups.com>
Content-Language: en-US
 by: Lynn McGuire - Sun, 19 Jun 2022 00:00 UTC

On 6/17/2022 7:31 PM, gah4 wrote:
> On Friday, June 17, 2022 at 4:58:32 PM UTC-7, Lynn McGuire wrote:
>
> (snip)
>> The CDC 7600 that I programmed on back in the 1970s was 60 bit words.
>> REAL*4 was mapped to the 60 bit word.
>
>> The UNIVAC 1108 was 36 bit words back in the 1970s. REAL*4 was mapped
>> to the 36 bit word.
>
> I am not sure about REAL*4 and the PDP-10's 36 bit word, but I do
> remember that REAL*8 got the double precision 72 bit word.
> (Actually, there are two PDP-10 double precisions, one for the machines
> without double precision hardware that do it in software, the other
> for ones with the hardware.

I never wrote anything on a PDP. Just the later 32 bit VMS machines.

Lynn


devel / comp.lang.fortran / Re: Standardize real*8 as real(kind=real64)?

Pages:12345
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor