줄리아에서 소수점 아래 버리고 정수형으로 바꾸는 법

줄리아에서 소수점 아래 버리고 정수형으로 바꾸는 법

요약

trunc 함수의 첫번째 인수로써 Int 를 넣으면 된다.

코드

julia> @time for t in 1:10^8
           Int64(ceil(t/1000))
       end
  0.189653 seconds

julia> @time for t in 1:10^8
           trunc(Int64, ceil(t/1000))
       end
  0.128472 seconds

두 반복문은 정확히 같은 기능을 하지만 1.5배 정도의 속도차이를 보인다. 위는 ceil로 소수점 아래를 버리고 Int64로 타입 캐스트를 했고, 아래는 trunc 함수의 자체 기능으로써 네이티브하게 정수를 리턴했기 때문에 더 빠르다.

다른 언어를 쓰던 사람에게는 위쪽 반복문 같은 정직한 명령이 자연스럽겠지만 줄리아에서는 자료형을 첫번째 인수로 넣어서 리턴을 받는 식의 내장함수가 많으므로 아래쪽 반복문과 같은 용법이 더 익숙해질 것이다.

환경

댓글