fnset_x.inc : f(x)에 대한 내장 테스트

파일 : fnset_x.inc 다음 사용자: fnsqr.gms[html]  fnexp.gms[htmlfnlog.gms[html]  fnlog2.gms[htmlfnlog10.gms[html]  fnsqrt.gms[htmlfncos.gms[html]  fnsin.gms[htmlfnsinh.gms[html]  fncosh.gms[htmlfntanh.gms[html]  fnfact.gms[htmlfngamma.gms[html]  fngamma2.gms[html]  fnatan.gms[htmlfnerrf.gms[html]  fnerrf2.gms[htmlfnentro.gms[html]  fnentro2.gms[html]  fnsigmo.gms[htmlfnsigmo2.gms[html]  fntan.gms[htmlfnacos.gms[html]  fnacosx.gms[htmlfnasin.gms[html]  fnasinx.gms[htmlfncentr.gms[html]  fncentr2.gms[html]  fncentr3.gms[html]  fnloggamma.gms[html]  fnlogit.gms[html]

$onText
상대 정확도는 어떻게 정의됩니까?  주어진:
  1. 점 x,
  2. 계산된 값 f(x), 그리고
  3. 알려진 값 fbar,

fbar와 fbar의 상대 정확도를 두 가지 방법으로 계산할 수 있습니다.
  1. |f-fbar| <= 담당자 * |fbar|
  2. |f-fbar| <= 반복수 * 최대(1,|x|)

첫 번째 경우가 가장 일반적이지만 일부 기능의 경우
두 번째가 더 적절합니다(예: sin(x)).

절대 정확도가 일부 범위 내에 있으면 테스트를 통과할 수도 있습니다.
공차 aeps:
  1. |f-fbar| <= aeps

기고자: Steven Dirkse, 2004년 10월
$offText

스칼라 aeps '절대 오류 허용오차';
스칼라 aeps0 '절대 허용오차, 함수';
스칼라 aeps1 '절대 허용오차, 1차 도함수';
스칼라 aeps2 '절대 허용오차, 2차 도함수';
스칼라 표현 '상대적 오류 허용오차';
scalar reps0 '상대 허용오차, 함수';
scalar reps1 '상대 허용오차, 1차 도함수';
스칼라 reps2 '상대 허용오차, 2차 도함수';
scalar relToInput 'reps는 입력(출력 아님) 크기에 상대적입니다.';

세트
  T '모든 테스트 인스턴스'
  V / x, c, d,
      f, f_, f_r, f_a
     fx, fx_, fx_r, fx_a
    fxx, fxx_, fxx_r, fxx_a
     RC, RC_, RC_E
     ec, ec_, ec_e
  /
  badT(T) '실패한 테스트 인스턴스'
  badTV(T,V) '실패한 항목/검사만'
  inV(V) '입력' / x, c, d /
  fV(V) '기능 정보' / f, f_, f_r, f_a /
  fxV(V) '졸업 정보' / fx, fx_, fx_r, fx_a /
  fxxV(V) '헤스 정보' / fxx, fxx_, fxx_r, fxx_a /
  rcV(V) 'rc 정보' / rc, rc_, rc_e /
  ecV(V) 'ec 정보' / ec, ec_, ec_e /
  ;
매개변수
  데이터(T,V)
  시간(T)
  failures(T,V) '실패한 테스트 인스턴스에 대한 모든 데이터'
  실패2(T,V) '실패한 테스트 인스턴스와 가장 관련성이 높은 데이터'
  ;