Fortran 올림/반올림

Fortran에서 real값을 integer로 변환하는 경우 int/nint/floor/ceiling 중 하나를 사용하는데 각각의 특성은 간략하게 아래와 같다.

! int : 내림
! nint : 반올림
! floor : 내림
! ceiling : 올림

! https://software.intel.com/en-us/node/526352
! https://software.intel.com/en-us/node/580895
! https://software.intel.com/en-us/node/526179
! https://software.intel.com/en-us/node/580418

   program     test_rounding
   use, intrinsic :: iso_fortran_env
   implicit none

      print "(a,i3)", "    int(+4.2) = ",     int(4.2D+0)
      print "(a,i3)", "   nint(+4.2) = ",    nint(4.2D+0)
      print "(a,i3)", "  floor(+4.2) = ",   floor(4.2D+0)
      print "(a,i3)", "ceiling(+4.2) = ", ceiling(4.2D+0)
      print "(a)", " "

      print "(a,i3)", "    int(+4.6) = ",     int(4.6D+0)
      print "(a,i3)", "   nint(+4.6) = ",    nint(4.6D+0)
      print "(a,i3)", "  floor(+4.6) = ",   floor(4.6D+0)
      print "(a,i3)", "ceiling(+4.6) = ", ceiling(4.6D+0)
      print "(a)", " "

      print "(a,i3)", "    int(-4.2) = ",     int(-4.2D+0)
      print "(a,i3)", "   nint(-4.2) = ",    nint(-4.2D+0)
      print "(a,i3)", "  floor(-4.2) = ",   floor(-4.2D+0)
      print "(a,i3)", "ceiling(-4.2) = ", ceiling(-4.2D+0)
      print "(a)", " "

      print "(a,i3)", "    int(-4.6) = ",     int(-4.6D+0)
      print "(a,i3)", "   nint(-4.6) = ",    nint(-4.6D+0)
      print "(a,i3)", "  floor(-4.6) = ",   floor(-4.6D+0)
      print "(a,i3)", "ceiling(-4.6) = ", ceiling(-4.6D+0)
      print "(a)", " "

   end program test_rounding

Markdown quick test

Emphasize emphasize
Strong Strong

Some text with a link and
another link.

  • Item
  • Item
  • Item
  • Item

Quoted text.
> Quoted quote.

  • Quoted
  • List

Begin each line with
two spaces or more to
make text look
e x a c t l y
like you type i
t.

This is code

This is a 
piece of code 
in a block
This too
#button {
    border: none;
}

Intel MKL version 확인하기

Intel MKL version 확인하기

Intel Parallel Studio XE은 여러개의 패키지 묶음으로 구성되어 있는데 예를 들어 하는 c/c++ compiler와 Fortran compiler, MKL등등이 그러하다. 문제는 Studio version과 나머지 각각의 version이 같지 않고 제각각이라는 것. 당연히 mapping table이 있어야 하지 않겠는가? MKL의 version이 궁금하다면 아래 링크에서 확인하면 된다. 다른 것들의 version도 궁금하다면 두번째 링크를 클릭하면 된다.

참고로 현재 intel developer zone에 올라와 있는 MKL 문서는 version 11.2 update3 이며 예전 version을 사용하고 있다면 pdf 파일을 다운로드 받아야 한다.

Written with StackEdit.