ACOSPI — 반바퀴 단위 원호 아크코사인 함수
ACOSPI — 반바퀴 단위 원호 아크코사인 함수
각도를 표현하는 단위는 라디안이나 각도(degree) 외에도 반바퀴(half-revolution)라는 게 있어요. 180°가 반 바퀴니까, 1 회전을 1이 아닌 2로 보는 방식이죠. ACOSPI는 아크코사인 결과를 라디안을 π로 나눈 값, 즉 반바퀴 단위로 돌려주는 함수입니다.
본문
설명(Description)
ACOSPI(X)는 acos(x) / π 를 계산해요. 이 값은 각도를 반바퀴 단위로 나타낸 척도입니다.
분류(Class)
요소 함수(Elemental function)
시그니처(Syntax)
RESULT = ACOSPI(X)
인자(Arguments)
X: -1 ≤ x ≤ 1 인REAL유형이어야 해요.
반환값
반환값은 X와 같은 유형·종류를 가져요. 반바퀴 단위로 표현되며 0 ≤ acospi(x) ≤ 1 을 만족합니다.
예제
program test_acospi
implicit none
real, parameter :: x = 0.123, y(3) = [0.123, 0.45, 0.8]
real, parameter :: a = acospi(x), b(3) = acospi(y)
call foo(x, y)
contains
subroutine foo(u, v)
real, intent(in) :: u, v(:)
real :: f, g(size(v))
f = acospi(u)
g = acospi(v)
if (abs(a - f) > 8 * epsilon(f)) stop 1
if (any(abs(g - b) > 8 * epsilon(f))) stop 2
end subroutine foo
end program test_acospi
스칼라 x와 배열 y에 대해 acospi를 적용하고, 컴파일 시점에 계산된 a, b와 실행 결과가 일치하는지 오차 범위 안에서 검증하는 예시예요.
표준(Standard)
Fortran 2023