Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

complex*32 and real*16

paolodenti
Beginner
712 Views

SUBROUTINE LUCINQP(AM,NDDMST,N,IER)

DIMENSION AM(40,40),V(40)

COMPLEX*32 AM

REAL*16 V

REAL*16 SUM

DO 1309 I=1,N

SUM=0.0Q0

DO 1319 J=1,N

1319 SUM=SUM+REAL(AM(I,J))**2+IMAG(AM(I,J))**2

1309 V(I)=1.0Q0/SUM

return

end

gives the message

t.f(1): warning #18000: The specified alignment (32) cannot be honored. Instead an alignment of 16 is used


Instead,

dimension a(1000,1000),b(1000)
complex*32 a
real*16 b
do 1 i=1,1000
b(i)=0.0q0
do 1 j=1,1000
1 a(i,j)=(0.0q0,0.0q0)
b(611)=qacos(0.0q0)*2
a(27,311)=(1.0q0,-2.0q0)*.5q0
write(11,*)sqrt(a(27,311))
write(11,*)b(611)
stop
end

returns no message and works fairly in q-precision.
??????

0 Kudos
1 Solution
Steven_L_Intel1
Employee
712 Views

This is a bug that is fixed in version 11.

View solution in original post

0 Kudos
2 Replies
TimP
Honored Contributor III
712 Views
Quoting - paolodenti

SUBROUTINE LUCINQP(AM,NDDMST,N,IER)

DIMENSION AM(40,40),V(40)

COMPLEX*32 AM

REAL*16 V

REAL*16 SUM

DO 1309 I=1,N

SUM=0.0Q0

DO 1319 J=1,N

1319 SUM=SUM+REAL(AM(I,J))**2+IMAG(AM(I,J))**2

1309 V(I)=1.0Q0/SUM

return

end

gives the message

t.f(1): warning #18000: The specified alignment (32) cannot be honored. Instead an alignment of 16 is used

I don't get any message with ifort 11 beta Intel64. You must have used a different compiler; how is anyone to guess? Are you implying that it didn't work? By the way, you are lucky if non-standard quad precision in the style of 20 years ago is working for you. In particular, use of REAL this way could be ambiguous.

0 Kudos
Steven_L_Intel1
Employee
713 Views

This is a bug that is fixed in version 11.

0 Kudos
Reply