ASINPI — 아크사인을 반 바퀴 단위로 계산하기

ASINPI — 아크사인을 반 바퀴 단위로 계산하기

각도를 라디안이 아니라 "반 바퀴(half-revolution)" 단위로 표현하고 싶은 경우가 있어요. 예컨대 회전 횟수를 다루는 코드라면 2π 대신 1이 한 바퀴가 되는 체계가 훨씬 편하죠. ASINPIasin(x) / π를 계산해서 각도를 반 바퀴 단위로 돌려주는 내장 함수예요.

출처: ASINPI (The GNU Fortran Compiler)

본문

시그니처

RESULT = ASINPI(X)

설명

ASINPI(X)asin(x) / π를 계산해요. 이 값은 각도를 반 바퀴(half-revolutions) 단위로 잰 측정값이에요.

클래스

원소 함수(Elemental function)예요.

인자

  • X — 타입은 실수(REAL)이어야 하고 -1 ≤ x ≤ 1을 만족해야 해요.

반환값

반환값은 X와 같은 타입과 kind를 가져요. 반 바퀴 단위로 표현되며 -0.5 ≤ asinpi(x) ≤ 0.5를 만족해요.

예제

program test_asinpi
  implicit none
  real, parameter :: x = 0.123, y(3) = [0.123, 0.45, 0.8]
  real, parameter :: a = asinpi(x), b(3) = asinpi(y)
  call foo(x, y)
contains
  subroutine foo(u, v)
    real, intent(in) :: u, v(:)
    real :: f, g(size(v))
    f = asinpi(u)
    g = asinpi(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_asinpi

표준

Fortran 2023 표준이에요.

더 알아보기

  • 반 바퀴 단위 계열의 짝꿍 ACOSPI, ATAN2PI, ATANPI도 함께 보면 성질이 비슷해요.
  • GNU Fortran 내장 프로시저 전체 목록은 Intrinsic Procedures에서 확인할 수 있어요.