GitHub Depo:https://github.com/wavebitscientific/functional-fortran
Fortran (FORTRAN), özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.
1954'de IBM tarafından üretilen IBM 704 için ilk sürümü John Backus ve ekibi tarafından geliştirilmiştir. Backus ve ekibi Kasım 1954'de "The IBM Mathematical FORmula TRANslating System: Fortran" isimli raporu yayınlamışlardır.
procedure(f_i1_logical) :: f !! Filtering function
integer(kind=i1),dimension(:),intent(in) :: x !! Input array
integer(kind=i1),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_i1
procedure(f_i2_logical) :: f !! Filtering function
integer(kind=i2),dimension(:),intent(in) :: x !! Input array
integer(kind=i2),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_i2
procedure(f_i4_logical) :: f !! Filtering function
integer(kind=i4),dimension(:),intent(in) :: x !! Input array
integer(kind=i4),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_i4
procedure(f_i8_logical) :: f !! Filtering function
integer(kind=i8),dimension(:),intent(in) :: x !! Input array
integer(kind=i8),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_i8
procedure(f_r4_logical) :: f !! Filtering function
real(kind=r4),dimension(:),intent(in) :: x !! Input array
real(kind=r4),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_r4
procedure(f_r8_logical) :: f !! Filtering function
real(kind=r8),dimension(:),intent(in) :: x !! Input array
real(kind=r8),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_r8
procedure(f_r16_logical) :: f !! Filtering function
real(kind=r16),dimension(:),intent(in) :: x !! Input array
real(kind=r16),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_r16
procedure(f_c4_logical) :: f !! Filtering function
complex(kind=r4),dimension(:),intent(in) :: x !! Input array
complex(kind=r4),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_c4
procedure(f_c8_logical) :: f !! Filtering function
complex(kind=r8),dimension(:),intent(in) :: x !! Input array
complex(kind=r8),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_c8
procedure(f_c16_logical) :: f !! Filtering function
complex(kind=r16),dimension(:),intent(in) :: x !! Input array
complex(kind=r16),dimension(:),allocatable :: filter
logical,dimension(:),allocatable :: f_x
integer :: i
allocate(f_x(size(x)))
do concurrent(i = 1:size(x))
f_x(i) = f(x(i))
enddo
filter = pack(x,f_x)
son işlevi filter_c16