forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Fortran 2003 and 2008 features
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Suggestions
View previous topic :: View next topic  
Author Message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Wed Oct 19, 2022 2:47 pm    Post subject: Reply with quote

Thanks Ken. I will add it to the list.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Sat Oct 22, 2022 11:32 am    Post subject: Reply with quote

ATAN(y,x) has now been added for the next release of FTN95.
Back to top
View user's profile Send private message AIM Address
Kenneth_Smith



Joined: 18 May 2012
Posts: 697
Location: Hamilton, Lanarkshire, Scotland.

PostPosted: Tue Oct 25, 2022 10:33 am    Post subject: Reply with quote

Thanks Paul, I can see ATAN(y,x) is implemented in the latest download.
Back to top
View user's profile Send private message Visit poster's website
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Fri Nov 18, 2022 7:33 am    Post subject: ISO_FORTRAN_ENV Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Fri Nov 18, 2022 8:35 am    Post subject: Reply with quote

Thanks John. I have made a note of your suggestion.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Fri Nov 18, 2022 1:03 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Fri Nov 18, 2022 1:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Fri Nov 18, 2022 5:08 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Sat Nov 19, 2022 8:30 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Sat Nov 19, 2022 9:13 am    Post subject: Reply with quote

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
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Sat Nov 19, 2022 10:07 am    Post subject: Reply with quote

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
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Mon Nov 21, 2022 8:05 am    Post subject: Reply with quote

FTN95 has been extended so that in future ISO_FORTRAN_ENV will give the correct values for /ALT_KINDS.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Mon Nov 21, 2022 12:52 pm    Post subject: Reply with quote

z%re and z%im for complex z (from the 2008 Standard) has been added for the next release of FTN95.
Back to top
View user's profile Send private message AIM Address
Kenneth_Smith



Joined: 18 May 2012
Posts: 697
Location: Hamilton, Lanarkshire, Scotland.

PostPosted: Tue Nov 22, 2022 5:03 pm    Post subject: Reply with quote

Paul,
Thanks for implementing the 2008 Standard support for complex z. This will be very useful.
Ken
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Thu Nov 24, 2022 1:54 pm    Post subject: Reply with quote

HYPOT has now been added to FTN95 and the DLLs for the next release.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Suggestions All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 9 of 10

 
Jump to:  
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