KIND 종류 매개변수

KIND 종류 매개변수 (KIND Type Parameters)

Fortran의 기본 데이터 타입은 각각 여러 개의 종류(kind)를 가질 수 있어요. 이 종류가 바로 데이터의 정밀도나 저장 크기를 결정하죠. 이 글에서는 GNU Fortran이 기본 데이터 타입에 대해 지원하는 KIND 매개변수 목록을 살펴볼게요.

출처: KIND Type Parameters

본문

기본 데이터 타입의 KIND 매개변수

GNU Fortran이 기본 데이터 타입에 대해 지원하는 KIND 종류 매개변수는 다음과 같아요.

타입 지원 KIND 기본값
INTEGER 1, 2, 4, 8*, 16* 4**
LOGICAL 1, 2, 4, 8*, 16* 4**
REAL 4, 8, 10*, 16* 4***
COMPLEX 4, 8, 10*, 16* 4***
DOUBLE PRECISION 4, 8, 10*, 16* 8***
CHARACTER 1, 4 1

* 모든 시스템에서 사용 가능한 것은 아니에요.

** -fdefault-integer-8을 사용하지 않는 한 4예요.

*** -fdefault-real-8을 사용하지 않는 한 기본값이에요 (Options controlling Fortran dialect 참고).

KIND 값의 의미

KIND 값은 저장 크기(storage size in bytes)와 일치해요. 다만 COMPLEX는 예외인데, 저장 크기가 두 배가 돼요. (COMPLEX는 실수부와 허수부가 각각 주어진 크기의 실수 값이거든요.)

추천하는 사용법

구체적인 값을 직접 쓰기보다는, 표준화된 방법을 사용하는 편이 좋아요. SELECTED_CHAR_KIND, SELECTED_INT_KIND, SELECTED_LOGICAL_KIND, SELECTED_REAL_KIND 내장 함수를 사용하거나, ISO_FORTRAN_ENV 모듈의 INT8, INT16, INT32, INT64, REAL32, REAL64, REAL128 매개변수를 사용하는 걸 권장해요.

사용 가능한 종류 매개변수는 ISO_FORTRAN_ENV 모듈의 상수 배열 CHARACTER_KINDS, INTEGER_KINDS, LOGICAL_KINDS, REAL_KINDS에서 확인할 수 있어요. C와의 상호 운용을 위해서는 ISO_C_BINDING 모듈의 종류 매개변수를 사용해야 해요.

더 알아보기