eval04.gms : 상수 컴파일 시간 평가 연산자 테스트

설명

운영자

OR XOR EQV IMP
그리고
아님
< <= = <> >= > 르 르 EQ 네 GE GT
+ - 단항 -
  /

   ** ** 추가 테스트를 환영합니다 ** ** **

기여자: Alex

소형 모델 유형 :슬롯 무료체험


카테고리 : 슬롯 무료체험 테스트 라이브러리


메인 파일 : eval04.gms

$title 테스트 상수 컴파일 시간 평가 연산자(EVAL04,SEQ=463)

$onText

연산자

OR XOR EQV IMP
그리고
아님
< <= = <> >= > 르 르 EQ 네 GE GT
+ - 단항 -
* /

** ** ** 추가 테스트를 환영합니다 ** ** **

기여자: 알렉스
$offText

$onDollar

f / opOR,opXOR,opEQV,opIMP,opAND,opEQ,opNE,opLE,opGE,opLT,opGT,opNOT,opPLUS,
        opMINUS,opUNARY,opMUL,opDIV /
    c / 1*10 /
    v / 계산, 예상 /;

$onUNDF

테이블 res(f,c,v) 계산된 함수 값과 예상되는 함수 값

            계산된 예상
opOR.1 [undf 또는 undf] undf
opOR.2 [0 또는 0] 0
opOR.3 [0 또는 1] 1
opOR.4 [1 또는 0] 1
opOR.5 [1 또는 1] 1
opOR.6 [inf 또는 inf] 1

opXOR.1 [undf 또는 undf] undf
opXOR.2 [0 xor 0] 0
opXOR.3 [0 xor 1] 1
opXOR.4 [1 xor 0] 1
opXOR.5 [1 xor 1] 0
opXOR.6 [inf xor inf] 0

opEQV.1 [undf 또는 undf] undf
opEQV.2 [0 eqv 0] 1
opEQV.3 [0 eqv 1] 0
opEQV.4 [1 eqv 0] 0
opEQV.5 [1 eqv 1] 1
opEQV.6 [inf eqv inf] 1

opIMP.1 [undf 또는 undf] undf
opIMP.2 [0 imp 0] 1
opIMP.3 [0 imp 1] 1
opIMP.4 [1 imp 0] 0
opIMP.5 [1 임프 1] 1
opIMP.6 [inf imp inf] 1

opAND.1 [undf 및 undf] undf
opAND.2 [0과 0] 0
opAnd.3 [+inf 및 -inf] 1

opEQ.1 [undf = undf] 1
opEQ.2 [undf = 1] 0

opNE.1 [undf <> undf] 0
opNE.2 [undf <> 1] 1

opLE.1 [undf <= inf] undf
opLE.2 [-inf <= +inf] 1

opNOT.1 [undf 아님] undf
opNOT.2 [0이 아님] 1
opNOT.3 [INF 아님] 0

opPLUS.1 [undf + 5] undf

opMINUS.1 [undf - 3] undf
opMINUS.2 [inf-inf] undf
opMINUS.3 [-(inf+1)-inf] -inf

opUNARY.1 [-(undf+1)] undf
opUNARY.2 [-(inf+3)] -inf

opMUL.1 [undf*3] undf
opMUL.2 [1e200*1e200] inf
opMUL.3 [inf*0] undf

opDIV.1 [undf/3] undf
opDIV.2 [0/undf] undf
opDIV.3 [inf/inf] undf
opDIV.4 [5/0] inf

매개변수 diff(f,c,v) 차이점; fc(f,c) 차이를 설정합니다.

fc(f,c) = res(f,c,'계산됨') <> res(f,c,'예상됨');
diff(fc,v) = res(fc,v);

디스플레이 차이;

abort$card(diff) '결과가 일치하지 않습니다';