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 

Difference between release and checkmate?
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General
View previous topic :: View next topic  
Author Message
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Sat Nov 24, 2018 10:58 pm    Post subject: Reply with quote

Here's the modified code I cobbled together from the original .....


Code:
program ch0509mod1c

implicit none
! real arithmetic
!
! 32 and 64 bit reals are normally available.
! The IEEE format is as described below.
!
! 32 bit reals 8 bit exponent, 24 bit mantissa
! 64 bit reals 11 bit exponent, 53 bit mantissa
!
integer, parameter :: &
sp = selected_real_kind( 6, 37)
integer, parameter :: &
dp = selected_real_kind(15, 307)
! Comment the next line out when using with other compilers.
! Only gfortran and Salford Fortran support
! 10 bytes reals.
integer, parameter :: &
zp1 = selected_real_kind(15, 310)
integer, parameter :: &
zp2 = selected_real_kind(18,4931)

! REMOVED 1b - qp NOT available with 32bitFTN95
!integer, parameter :: &
!qp = selected_real_kind(30, 291)

real (sp) :: rsp
real (dp) :: rdp
! comment out the following line
real (zp1) :: r1
real (zp2) :: r2
! replace with
! real :: r
! to chose default real.

! REMOVED 1b - qp NOT available with 32bitFTN95
! set to SP to avoid errors
!real (qp) :: rqp
real (sp) :: rqp

print *
print *, ' ====================='
print *, ' Real kind information'
print *, ' ====================='
print *
print *, '        kind type',' ','kind(15,310)',' ','kind(18,4931)',' ','         SP',' ','          DP',' ','      QP(SP)'
print*
print *, '      kind number',' ',kind(r1),' ',kind(r2),' ',kind(rsp),' ',kind(rdp),' ',kind(rqp)
print *, '   digits details',' ',digits(r1),' ',digits(r2),' ',digits(rsp),' ',digits(rdp),' ',digits(rqp)
print *, 'maxexponent value',' ',maxexponent(r1),' ',maxexponent(r2),' ',maxexponent(rsp),' ',maxexponent(rdp),' ',maxexponent(rqp)
print *, 'minexponent value',' ',minexponent(r1),' ',minexponent(r2),' ',minexponent(rsp),' ',minexponent(rdp),' ',minexponent(rqp)
print *, 'precision details',' ',precision(r1),' ',precision(r2),' ',precision(rsp),' ',precision(rdp),' ',precision(rqp)
print *, '    radix details',' ',radix(r1),' ',radix(r2),' ',radix(rsp),' ',radix(rdp),' ',radix(rqp)
print *, '    range details',' ',range(r1),' ',range(r2),' ',range(rsp), ' ',range(rdp),' ',range(rqp)
print *
print *, '  epsilon details',' ',epsilon(r1),' ',epsilon(r2),' ',epsilon(rsp),' ',epsilon(rdp),' '
print *, '                 ',' ',epsilon(rqp)
print *, '       huge value',' ',huge(r1),' ',huge(r2),' ',huge(rsp),' ',huge(rdp),' '
print *, '                 ',' ',huge(rqp)
print *, '     tiny details',' ',tiny(r1),' ',tiny(r2),' ',tiny(rsp),' ',tiny(rdp),' '
print *, '                 ',' ',tiny(rqp)

end program ch0509mod1c

_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Sat Nov 24, 2018 11:29 pm    Post subject: Reply with quote

... .and just out of interest, WHY does x64 not provide extended precision option ? (my understanding is that it's the Fortran standard which doesn't include it ?)
It's like a regressive step is it not as x64 should be everything x32 is ... and more.
_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
FK_GER



Joined: 26 Oct 2017
Posts: 35
Location: University of Kassel,Germany

PostPosted: Sat Dec 15, 2018 2:50 pm    Post subject: Reply with quote

Hello everyone,
only yesterday I've some time to study my described problem. And sorry, but I don't have tracked the course of the discussion since Nov-15, my last input.
My declaration: The real cause of the differences is the determination of the k-values, especially k3 (look at my previous posted picture). These k-values are buildt with a lot of pre-terms, which for their part are the results of extensive iteration processes. The k3-value depends on more than 12 of these iterated pre-terms for example, at which two of these pre-terms are multiplied with each other at first and added subsequently. At such a process with single precision values rounding inaccuracies appear and have an explicit effect on the following calculated terms.
My solution: All significant terms, which are used for the determination of the k-values, are defined as REAL*8.
Result: The computation of checkmate-version and of the release-version is identically! - Problem solved!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General All times are GMT + 1 Hour
Goto page Previous  1, 2, 3
Page 3 of 3

 
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