Skip to content

Commit f9baf45

Browse files
committed
use array comprehension instead of do-concurrent in the implementation of map()
1 parent 816dc92 commit f9baf45

File tree

2 files changed

+11
-31
lines changed

2 files changed

+11
-31
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.4.1
1+
0.5.0

src/lib/mod_functional.f90

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2578,9 +2578,7 @@ pure function map_i1(f, x) result(map)
25782578
integer(i1), dimension(:), intent(in) :: x !! Input array
25792579
integer(i1), dimension(size(x)) :: map
25802580
integer(i4) :: i
2581-
do concurrent(i = 1:size(x))
2582-
map(i) = f(x(i))
2583-
enddo
2581+
map = [(f(x(i)), i = 1, size(x))]
25842582
end function map_i1
25852583

25862584

@@ -2592,9 +2590,7 @@ pure function map_i2(f, x) result(map)
25922590
integer(i2), dimension(:), intent(in) :: x !! Input array
25932591
integer(i2), dimension(size(x)) :: map
25942592
integer(i4) :: i
2595-
do concurrent(i = 1:size(x))
2596-
map(i) = f(x(i))
2597-
enddo
2593+
map = [(f(x(i)), i = 1, size(x))]
25982594
end function map_i2
25992595

26002596

@@ -2606,9 +2602,7 @@ pure function map_i4(f, x) result(map)
26062602
integer(i4), dimension(:), intent(in) :: x !! Input array
26072603
integer(i4), dimension(size(x)) :: map
26082604
integer(i4) :: i
2609-
do concurrent(i = 1:size(x))
2610-
map(i) = f(x(i))
2611-
enddo
2605+
map = [(f(x(i)), i = 1, size(x))]
26122606
end function map_i4
26132607

26142608

@@ -2620,9 +2614,7 @@ pure function map_i8(f, x) result(map)
26202614
integer(i8), dimension(:), intent(in) :: x
26212615
integer(i8), dimension(size(x)) :: map
26222616
integer(i4) :: i
2623-
do concurrent(i = 1:size(x))
2624-
map(i) = f(x(i))
2625-
enddo
2617+
map = [(f(x(i)), i = 1, size(x))]
26262618
end function map_i8
26272619

26282620

@@ -2634,9 +2626,7 @@ pure function map_r4(f, x) result(map)
26342626
real(r4), dimension(:), intent(in) :: x !! Input array
26352627
real(r4), dimension(size(x)) :: map
26362628
integer(i4) :: i
2637-
do concurrent(i = 1:size(x))
2638-
map(i) = f(x(i))
2639-
enddo
2629+
map = [(f(x(i)), i = 1, size(x))]
26402630
end function map_r4
26412631

26422632

@@ -2648,9 +2638,7 @@ pure function map_r8(f, x) result(map)
26482638
real(r8), dimension(:), intent(in) :: x !! Input array
26492639
real(r8), dimension(size(x)) :: map
26502640
integer(i4) :: i
2651-
do concurrent(i = 1:size(x))
2652-
map(i) = f(x(i))
2653-
enddo
2641+
map = [(f(x(i)), i = 1, size(x))]
26542642
end function map_r8
26552643

26562644

@@ -2662,9 +2650,7 @@ pure function map_r16(f, x) result(map)
26622650
real(r16), dimension(:), intent(in) :: x !! Input array
26632651
real(r16), dimension(size(x)) :: map
26642652
integer(i4) :: i
2665-
do concurrent(i = 1:size(x))
2666-
map(i) = f(x(i))
2667-
enddo
2653+
map = [(f(x(i)), i = 1, size(x))]
26682654
end function map_r16
26692655

26702656

@@ -2676,9 +2662,7 @@ pure function map_c4(f, x) result(map)
26762662
complex(r4), dimension(:), intent(in) :: x !! Input array
26772663
complex(r4), dimension(size(x)) :: map
26782664
integer(i4) :: i
2679-
do concurrent(i = 1:size(x))
2680-
map(i) = f(x(i))
2681-
enddo
2665+
map = [(f(x(i)), i = 1, size(x))]
26822666
end function map_c4
26832667

26842668

@@ -2690,9 +2674,7 @@ pure function map_c8(f, x) result(map)
26902674
complex(r8), dimension(:), intent(in) :: x !! Input array
26912675
complex(r8), dimension(size(x)) :: map
26922676
integer(i4) :: i
2693-
do concurrent(i = 1:size(x))
2694-
map(i) = f(x(i))
2695-
enddo
2677+
map = [(f(x(i)), i = 1, size(x))]
26962678
end function map_c8
26972679

26982680

@@ -2704,9 +2686,7 @@ pure function map_c16(f, x) result(map)
27042686
complex(r16), dimension(:), intent(in) :: x !! Input array
27052687
complex(r16), dimension(size(x)) :: map
27062688
integer(i4) :: i
2707-
do concurrent(i = 1:size(x))
2708-
map(i) = f(x(i))
2709-
enddo
2689+
map = [(f(x(i)), i = 1, size(x))]
27102690
end function map_c16
27112691

27122692

0 commit comments

Comments
 (0)