7 !$omp declare reduction(.add.:dt:omp_out=omp_out.add.omp_in)
8 !$omp declare reduction(+:dt:omp_out=omp_out+omp_in)
10 module procedure addme
12 interface operator(.add
.)
13 module procedure addme
16 type(dt
) function addme (x
, y
)
17 type (dt
), intent (in
) :: x
, y
22 use udr10m
, only
: operator(.localadd
.) => operator(.add
.), &
23 & operator(+), dl
=> dt
26 !$omp parallel do reduction(+:j) reduction(.localadd.:k)
28 j
= j
.localadd
. dl(i
)
31 if (j
%x
/= 5050 .or
. k
%x
/= 10100) STOP 1