Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - fortran

Страницы: [1]
1
Общий раздел / Re: Blur на разных ЯП.
« : Апрель 26, 2013, 09:02:10 pm »
Версия на Fortran
program blur_bench
  implicit none
 
  integer, parameter :: width = 640, height = 480
  integer, parameter :: frames = 20, r = 13

  type pixel
    byte :: r, g, b
  end type

  integer :: i, j, f, n
  real :: t1, t2
  type(pixel), dimension(width,height) :: in, out
 
  call cpu_time(t1)

  do f = 1,frames
    do n = 1,r
      do j = 2,height-1
        do i = 2,width-1
          out(i,j)%r = (in(i-1,j)%r + in(i+1,j)%r + in(i,j-1)%r + in(i,j+1)%r) / 4
          out(i,j)%g = (in(i-1,j)%g + in(i+1,j)%g + in(i,j-1)%g + in(i,j+1)%g) / 4
          out(i,j)%b = (in(i-1,j)%b + in(i+1,j)%b + in(i,j-1)%b + in(i,j+1)%b) / 4
        end do
      end do
      do j = 2,height-1
        do i = 2,width-1
          in(i,j)%r = (out(i-1,j)%r + out(i+1,j)%r + out(i,j-1)%r + out(i,j+1)%r) / 4
          in(i,j)%g = (out(i-1,j)%g + out(i+1,j)%g + out(i,j-1)%g + out(i,j+1)%g) / 4
          in(i,j)%b = (out(i-1,j)%b + out(i+1,j)%b + out(i,j-1)%b + out(i,j+1)%b) / 4
        end do
      end do
    end do
  end do
 
  call cpu_time(t2)
  write (*,*) 'Time: ', t2-t1
  write (*,*) 'FPS: ', frames/(t2-t1)

end program

Страницы: [1]