 |
forums.silverfrost.com Welcome to the Silverfrost forums
|
View previous topic :: View next topic |
Author |
Message |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Wed Oct 19, 2022 2:47 pm Post subject: |
|
|
Thanks Ken. I will add it to the list. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Sat Oct 22, 2022 11:32 am Post subject: |
|
|
ATAN(y,x) has now been added for the next release of FTN95. |
|
Back to top |
|
 |
Kenneth_Smith

Joined: 18 May 2012 Posts: 682 Location: Hamilton, Lanarkshire, Scotland.
|
Posted: Tue Oct 25, 2022 10:33 am Post subject: |
|
|
Thanks Paul, I can see ATAN(y,x) is implemented in the latest download. |
|
Back to top |
|
 |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2505 Location: Sydney
|
Posted: Fri Nov 18, 2022 7:33 am Post subject: ISO_FORTRAN_ENV |
|
|
Paul,
I was trying to locate what features had been added to iso_fortran_env but could not find any documentation.
I wrote the following program to see what might come out.
I noted:
"integer_kinds" is not included ?
"iostat_end" /= -1 and "iostat_eor" not included
"numeric_storage_size" and "file_storage_size" not included
("int128" and "real80" are not in the standard, but I think "real128" is)
I think these are just constants so some may be an easy update and may help with documentation ?
Code: | use iso_fortran_env
! implicit real( a-h, o-z )
! implicit integer ( i-n )
write (*,*) 'input_unit =', input_unit
write (*,*) 'output_unit =', output_unit
write (*,*) 'error_unit =', error_unit
write (*,*) 'numeric_storage_size =', numeric_storage_size
write (*,*) 'file_storage_size =', file_storage_size
write (*,*) 'integer_kinds =', integer_kinds
write (*,*) 'real_kinds =', real_kinds
write (*,*) 'logical_kinds =', logical_kinds
write (*,*) 'iostat_end =', iostat_end
write (*,*) 'iostat_eor =', iostat_eor
write (*,*) ' int8 =',int8
write (*,*) ' int16 =',int16
write (*,*) ' int32 =',int32
write (*,*) ' int64 =',int64
write (*,*) '#int128 =',int128
write (*,*) ' real32 =',real32
write (*,*) ' real64 =',real64
write (*,*) '#real80 =',real80
write (*,*) ' real128 =',real128
end
|
|
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Fri Nov 18, 2022 8:35 am Post subject: |
|
|
Thanks John. I have made a note of your suggestion. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Fri Nov 18, 2022 1:03 pm Post subject: |
|
|
iso_fortran_env has been ammended for the next full release of FTN95.
The associated results for real_kinds and real80 relate to 64 bit FTN95 and are:
INTEGER,PARAMETER::REAL80=-1
INTEGER,PARAMETER::REAL_KINDS(2)=(/1,2/)
The values for 32 bit FTN95 are different from those provided by iso_fortran_env and are:
INTEGER,PARAMETER::REAL80=3
INTEGER,PARAMETER::REAL_KINDS(3)=(/1,2,3/) |
|
Back to top |
|
 |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2505 Location: Sydney
|
Posted: Fri Nov 18, 2022 1:27 pm Post subject: |
|
|
Paul,
It is good to include in ISO_FORTRAN_ENV, those parameters that are relevant to FTN95 extensions for F03 and F08.
Just to clarify; I was checking if real80 or integer128 possibly might have existed. They are not in the standard, but should be listed in REAL_KINDS and INTEGER_KINDS if relevant.
It is a good change that "real_kinds" differ for 32 and /64
"integer_kinds" are in the standard and are an important report.
Thanks for these prompt updates.
John
( ps : have you considered including a /32 compile option ? ) |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Fri Nov 18, 2022 5:08 pm Post subject: |
|
|
John
read80 is -1 for /64 and for this value ISO_FORTRAN_ENV only gives the correct result for /64. This is because at the moment I can't think of a simple way to make read80 correct for both 32 and 64 bits.
read80 = -1 means that 80 bit reals are not available.
integer128 = -1 for both 32 and 64 bit FTN95.
If the compiler was configured by the user (via /config) to make /64 the default then /-64 would revert to the compiler default. In this context it might be helpful to have /32 as an alternative to /-64. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Sat Nov 19, 2022 8:30 am Post subject: |
|
|
John
This issue has now been resolved. ISO_FORTRAN_ENV will give the relevant KINDs for both 32 bit and 64 bit FTN95.
/32 has been added as an alternative to /-64. |
|
Back to top |
|
 |
JohnCampbell
Joined: 16 Feb 2006 Posts: 2505 Location: Sydney
|
Posted: Sat Nov 19, 2022 9:13 am Post subject: |
|
|
Paul,
Thanks for these changes.
I think that /32 is a good addition, especially for clearer documenting of compile options in my .bat builds.
Also, my test from Fri Nov 18 did not identify "integer_kinds" as being available. Hopefully I did not mis-spell.
Is it available ?
How does /ALT_KINDS work with these ?
( I see that "1.0_K must use the default KIND values"
I will test the next FTN95 version. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Sat Nov 19, 2022 10:07 am Post subject: |
|
|
integer_kinds was missing and has been added for the next full release.
The KIND values in ISO_FORTRAN_ENV are the native KINDs, not the /ALT_KINDS values. They are constants that are external to the compiler. As things are, they don't change when /ALT_KINDS is used. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Mon Nov 21, 2022 8:05 am Post subject: |
|
|
FTN95 has been extended so that in future ISO_FORTRAN_ENV will give the correct values for /ALT_KINDS. |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Mon Nov 21, 2022 12:52 pm Post subject: |
|
|
z%re and z%im for complex z (from the 2008 Standard) has been added for the next release of FTN95. |
|
Back to top |
|
 |
Kenneth_Smith

Joined: 18 May 2012 Posts: 682 Location: Hamilton, Lanarkshire, Scotland.
|
Posted: Tue Nov 22, 2022 5:03 pm Post subject: |
|
|
Paul,
Thanks for implementing the 2008 Standard support for complex z. This will be very useful.
Ken |
|
Back to top |
|
 |
PaulLaidler Site Admin

Joined: 21 Feb 2005 Posts: 7772 Location: Salford, UK
|
Posted: Thu Nov 24, 2022 1:54 pm Post subject: |
|
|
HYPOT has now been added to FTN95 and the DLLs for the next release. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|