내장 프로시저
내장 프로시저 (Intrinsic Procedures)
Fortran에는 프로그램에서 별다른 선언 없이 바로 사용할 수 있는, 컴파일러가 기본 제공하는 함수와 서브루틴들이 있어요. 이걸 내장 프로시저(intrinsic procedures)라고 부르죠. GNU Fortran은 표준에서 요구하는 내장 프로시저뿐 아니라, 예전 G77 컴파일러와의 호환을 위한 것까지 아주 많은 양의 내장 프로시저를 제공해요.
본문
이 장(8장)은 GNU Fortran이 제공하는 수많은 내장 프로시저를 알파벳순으로 정리해 둔 목록이에요. 각 프로시저는 이름과 함께 한 줄 설명이 붙어 있어서, 원하는 기능을 빠르게 찾아볼 수 있어요. 대표적인 것들을 몇 가지 살펴보면 이래요.
ABORT— Abort the program — 프로그램을 중단해요.ABS— Absolute value — 절댓값을 구해요.ACOS— Arccosine function — 아크코사인을 계산해요.AIMAG— Imaginary part of complex number — 복소수의 허수부를 구해요.ALLOCATED— Status of an allocatable entity — 할당 가능한 객체의 상태를 확인해요.ASIN— Arcsine function — 아크사인을 계산해요.ATAN2— Arctangent function — 두 인자로 아크탄젠트를 계산해요.BESSEL_J0— Bessel function of the first kind of order 0 — 0차 베셀 함수를 계산해요.CEILING— Integer ceiling function — 올림을 해요.CMPLX— Complex conversion function — 복소수로 변환해요.COS— Cosine function — 코사인을 계산해요.DATE_AND_TIME— Date and time subroutine — 날짜와 시간을 가져와요.DBLE— Double conversion function — 배정밀도로 변환해요.DOT_PRODUCT— Dot product function — 두 벡터의 내적을 구해요.EXP— Exponential function — 지수 함수를 계산해요.FLOOR— Integer floor function — 내림을 해요.HUGE— Largest number of a kind — 해당 종류에서 가장 큰 수를 반환해요.IAND— Bitwise logical and — 비트 단위 논리곱을 해요.INDEX— Position of a substring within a string — 부분 문자열의 위치를 찾아요.INT— Convert to integer type — 정수 타입으로 변환해요.KIND— Kind of an entity — 엔티티의 종류를 반환해요.LEN— Length of a character entity — 문자 엔티티의 길이를 반환해요.LOG— Natural logarithm function — 자연로그를 계산해요.MATMUL— matrix multiplication — 행렬 곱을 계산해요.MAX— Maximum value of an argument list — 인자 중 최댓값을 반환해요.MAXVAL— Maximum value of an array — 배열의 최댓값을 반환해요.MIN— Minimum value of an argument list — 인자 중 최솟값을 반환해요.MOD— Remainder function — 나머지를 구해요.NINT— Nearest whole number — 가장 가까운 정수로 반올림해요.PRESENT— Determine whether an optional dummy argument is specified — 선택적 인자가 지정되었는지 확인해요.PRODUCT— Product of array elements — 배열 요소의 곱을 구해요.REAL— Convert to real type — 실수 타입으로 변환해요.RESHAPE— Function to reshape an array — 배열의 형태를 바꿔요.SIZE— Determine the size of an array — 배열의 크기를 알아내요.SQRT— Square-root function — 제곱근을 계산해요.SUM— Sum of array elements — 배열 요소의 합을 구해요.TAN— Tangent function — 탄젠트를 계산해요.TRIM— Remove trailing blank characters of a string — 문자열의 끝 공백을 제거해요.TRANSFER— Transfer bit patterns — 비트 패턴을 다른 타입으로 옮겨요.
이 밖에도 원자 연산(atomic), 배열 변형(array transformation), 난수(random number), 시스템 호출(system), 시간(time) 관련 등 수많은 프로시저가 알파벳순으로 정의되어 있어요. 각 프로시저의 상세한 사용법은 목록에서 해당 이름을 눌러 개별 문서로 들어가면 확인할 수 있어요.
더 알아보기
- 내장 프로시저가 무엇인지, 표준과 어떻게 관련되는지 알고 싶다면 Introduction to Intrinsics 문서를 참고해 보세요.
- 내장 모듈 전체 목록은 Intrinsic Modules 문서에서 확인할 수 있어요.
- 내장 타입의 종류(kind)에 대한 자세한 내용은 KIND Type Parameters 문서를 참고해 보세요.