FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(accelx_layout_type), | intent(in) | :: | lo | |||
integer, | intent(in) | :: | ik | |||
integer, | intent(in) | :: | it | |||
integer, | intent(in) | :: | il | |||
integer, | intent(in) | :: | ie | |||
integer, | intent(in) | :: | is |
elemental function idx_accelx (lo, ik, it, il, ie, is)
implicit none
integer :: idx_accelx
type (accelx_layout_type), intent (in) :: lo
integer, intent (in) :: ik, it, il, ie, is
select case (layout)
case ('yxels')
idx_accelx = ik-1 + lo%ny*(it-1 + lo%nx*(ie-1 + &
lo%negrid*(il-1 + lo%nlambda*(is-1))))
case ('yxles')
idx_accelx = ik-1 + lo%ny*(it-1 + lo%nx*(il-1 + &
lo%nlambda*(ie-1 + lo%negrid*(is-1))))
! CMR: 'xyles' possible if 2D accel FFTs handled x faster than y
! case ('xyles')
! idx_accelx = it-1 + lo%nx*(ik-1 + lo%ny*(il-1 + &
! lo%nlambda*(ie-1 + lo%negrid*(is-1))))
end select
end function idx_accelx