File: intrinsics_200.f90

package info (click to toggle)
lfortran 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,332 kB
  • sloc: cpp: 137,068; f90: 51,260; python: 6,444; ansic: 4,277; yacc: 2,285; fortran: 806; sh: 524; makefile: 30; javascript: 15
file content (20 lines) | stat: -rw-r--r-- 529 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program intrinsics_200
integer, dimension(5) :: x
logical, dimension(5) :: mask

x = [1, 2, 3, 4, 5]
mask = [.true., .false., .true., .false., .true.]

print *, median_all_mask_1_iint8_dp(x, mask)
if (abs(median_all_mask_1_iint8_dp(x, mask) - 9.0) > 1e-8) error stop
contains
function median_all_mask_1_iint8_dp(x, mask) result(res)
integer, intent(in) :: x(:)
logical, intent(in) :: mask(:)
real :: res
integer, allocatable :: x_tmp(:)

x_tmp = pack(x, mask)
res = sum(x_tmp)
end function median_all_mask_1_iint8_dp
end program