"Arjen Markus" wrote in message
news:ffa856b8-b678-4e2f...@googlegroups.com...
> integer :: n
> integer, parameter :: nelements = 20
> !integer ion_end(nelements)
> integer, parameter :: iatomic_number(nelements) = [&
> 1,2,6,7,8,10,11,12,13,14,15,16,17,18,20,22,24,25,26,28]
> integer, parameter :: ion_end(nelements) = [&
> (sum(iatomic_number(1:n)), n=1,nelements)]
I tried a workaround:
D:\gfortran\clf\sum_init>type dot_init.f90
integer :: n
integer, parameter :: iatomic_number(*) = [&
1,2,6,7,8,10,11,12,13,14,15,16,17,18,20,22,24,25,26,28]
integer, parameter :: ion_end(*) = [&
(dot_product(iatomic_number,eoshift(reshape([integer::], &
shape=shape(iatomic_number),pad=[0]),-n,1)),
n=1,size(iatomic_number))]
write(*,'(*(g0:1x))') ion_end
end
D:\gfortran\clf\sum_init>gfortran dot_init.f90 -odot_init
dot_init.f90:6:37:
(dot_product(iatomic_number,eoshift(reshape([integer::], &
1
Error: transformational intrinsic 'eoshift' at (1) is not permitted in an
initia
lization expression
But it didn't seem to help :(