Re: Integers and standard
 From: "James Van Buskirk" <not_valid@xxxxxxxxxxx>
 Date: Tue, 29 Jul 2008 15:03:28 0600
"Steven G. Kargl" <kargl@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:g6nufe$45n$1@xxxxxxxxxxxxxxxxxxxxxxxxxx
The above is consistent with how a BOZ is handled when placed in a
a data statement. If INTEGER(1) is 32bit and if an INTEGER(2) exists
with larger decimal exponent range, then INT(Z'80000000') will overflow
if you do
INTEGER(1) :: i = INT(Z'80000000')
You seem to be saying that z'80000000' is positive so that converting
it to a signed 32bit quantity causes overflow, but this seems a bit
imprecise as a description for what happens with gfortran:
C:\gcc_mingw64\clf\ovl>type ovl3.f90
program ovl3
implicit none
integer, parameter :: ik16 = selected_int_kind(38)
integer(ik16) i
! 0 1 2 3 4
! 1234567890123456789012345678901234567890
i = real(z'80000000000000000000000000000000')
write(*,'(z0)') i
end program ovl3
C:\gcc_mingw64\clf\ovl>gfortran ovl3.f90 oovl3
ovl3.f90:8.47:
i = real(z'80000000000000000000000000000000')
1
Error: Integer too big for integer kind 16 at (1)
real x
x = real(Z'123445678')
end
Should a Fortran processor ignore the leading 1 or the trailing 8 or
assume some 40bit FP representation with rounding to a 32bit FP? All
of these are allowed by F2003. gfortran (IMHO) takes the sensible
approach of issuing an error.
troutmask:kargl[203] ~/../sgk/work/4x/bin/gfortran static o z g.f90
g.f90:2.12:
x = real(Z'123445678')
1
Error: BOZ constant at (1) is too large (33 vs 32 bits)
But this last behavior is that required by N1723.pdf, section 13.3.3.
Perhaps you should fix it, then :)

write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D85, &
6.0134700243160014d154/),(/'x'/)); end
.
 FollowUps:
 Re: Integers and standard
 From: Steven G. Kargl
 Re: Integers and standard
 From: James Van Buskirk
 Re: Integers and standard
 References:
 Integers and standard
 From: Alfredo Buttari
 Re: Integers and standard
 From: James Van Buskirk
 Re: Integers and standard
 From: Steven G. Kargl
 Re: Integers and standard
 From: Dan Nagle
 Re: Integers and standard
 From: James Giles
 Re: Integers and standard
 From: Steven G. Kargl
 Integers and standard
 Prev by Date: Re: Integers and standard
 Next by Date: Re: Integers and standard
 Previous by thread: Re: Integers and standard
 Next by thread: Re: Integers and standard
 Index(es):
Relevant Pages
