Commit a8e72204 authored by Jorn Bruggeman's avatar Jorn Bruggeman
Browse files

fixed range subsetting for hosts without mask

parent 8a84441b
......@@ -314,14 +314,20 @@
#ifdef _HORIZONTAL_IS_VECTORIZED_
! Horizontal fields are 1D
# define _DIMENSION_EXT_HORIZONTAL_SLICE_ ,dimension(_START_:)
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_1_ ,dimension(_START_:,:)
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_2_ ,dimension(_START_:,:,:)
# define _DIMENSION_EXT_HORIZONTAL_SLICE_ _DIMENSION_EXT_SLICE_
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_1_ _DIMENSION_EXT_SLICE_PLUS_1_
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_2_ _DIMENSION_EXT_SLICE_PLUS_2_
# define _INDEX_EXT_HORIZONTAL_SLICE_ _INDEX_EXT_SLICE_
# define _INDEX_EXT_HORIZONTAL_SLICE_PLUS_1_(i) _INDEX_EXT_SLICE_PLUS_1_(i)
# define _INDEX_EXT_HORIZONTAL_SLICE_PLUS_2_(i,j) _INDEX_EXT_SLICE_PLUS_2_(i,j)
#else
! Horizontal fields are 0D
# define _DIMENSION_EXT_HORIZONTAL_SLICE_
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_1_ ,dimension(:)
# define _DIMENSION_EXT_HORIZONTAL_SLICE_PLUS_2_ ,dimension(:,:)
# define _INDEX_EXT_HORIZONTAL_SLICE_
# define _INDEX_EXT_HORIZONTAL_SLICE_PLUS_1_(i) (i)
# define _INDEX_EXT_HORIZONTAL_SLICE_PLUS_2_(i,j) (i,j)
#endif
! ---------------------------------------------------------------------------------
......@@ -525,9 +531,9 @@
#else
# define _HORIZONTAL_PACK_GLOBAL_(in,out,j,cache) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_HORIZONTAL_SLICE_PLUS_1_(j) = in _INDEX_GLOBAL_HORIZONTAL_(_START_+_J_-1);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_PACK_GLOBAL_PLUS_1_(in,i,out,j,cache) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_HORIZONTAL_SLICE_PLUS_1_(j) = in _INDEX_GLOBAL_HORIZONTAL_PLUS_1_(_START_+_J_-1,i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_(in,i,out,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_HORIZONTAL_SLICE_ = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_TO_PLUS_1_(in,i,out,j,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_HORIZONTAL_SLICE_PLUS_1_(j) = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_AND_ADD_TO_PLUS_1_(in,i,out,j,cache) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_HORIZONTAL_SLICE_PLUS_1_(j) = out _INDEX_HORIZONTAL_SLICE_PLUS_1_(j) + in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_(in,i,out,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_EXT_HORIZONTAL_SLICE_ = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_TO_PLUS_1_(in,i,out,j,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_EXT_HORIZONTAL_SLICE_PLUS_1_(j) = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_AND_ADD_TO_PLUS_1_(in,i,out,j,cache) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_EXT_HORIZONTAL_SLICE_PLUS_1_(j) = out _INDEX_EXT_HORIZONTAL_SLICE_PLUS_1_(j) + in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_TO_GLOBAL_(in,i,out,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_GLOBAL_HORIZONTAL_(_START_+_J_-1) = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
# define _HORIZONTAL_UNPACK_TO_GLOBAL_PLUS_1_(in,i,out,j,cache,missing) _CONCURRENT_HORIZONTAL_LOOP_BEGIN_EX_(cache);out _INDEX_GLOBAL_HORIZONTAL_PLUS_1_(_START_+_J_-1,j) = in _INDEX_HORIZONTAL_SLICE_PLUS_1_(i);_HORIZONTAL_LOOP_END_
#endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment