implset2.gms : 기본 레코드를 사용하여 암시적 집합 정의 테스트

설명

이 테스트는 암시적으로 정의된 세트도 레코드를 얻도록 보장합니다.
정의 기호에 기본 레코드가 있는 경우.

기고자: Lutz Westermann, 2021년 1월

소형 모델 유형 :슬롯 나라


카테고리 : 슬롯 나라 테스트 라이브러리


메인 파일 : implset2.gms

$title '기본 레코드를 사용하여 암시적 집합 정의 테스트' (IMPLSET2,SEQ=853)

$onText
이 테스트는 암시적으로 정의된 세트도 레코드를 얻도록 보장합니다.
정의 기호에 기본 레코드가 있는 경우.

기고자: Lutz Westermann, 2021년 1월
$offText

별칭(u,*);

* 1: 값이 0인 매개변수를 사용합니다.
i(*)를 설정합니다.
매개변수 p(i<) / i0 0
                  나는1 1
                  i2 0
                  i3 3 /;
iWant 설정 / i0*i3 /
    iTest(u);

iTest(u) = iWant(u) xor i(u);
중단$card(iTest) iTest;

* 2: 값이 0인 테이블을 사용합니다.
j(*)를 설정합니다.
테이블 ij(i,j<)
     j0 j1 j2 j3 j4
나는0 0 0 0 3
나는1 0 0 0 3 
i2 0 1 0 3 
i3 0 1 0 3 ;

jWant 설정 / j0*j2, j4 /
    jTest(u);

jTest(u) = jWant(u) xor j(u);
중단$카드(jTest) jTest;

* 3: 기본값이 있는 변수 사용
k(*)를 설정합니다.
변수 x(k<) / l0.l 0
                 m0.m 0
                 upInf.up +INF
                 loInf.lo -INF /;

kWant / l0, m0, upInf, loInf / 설정
    kTest(u);

kTest(u) = kWant(u) xor k(u);
중단$카드(kTest) kTest;

* x에는 기본 레코드만 있습니다. -> 카드는 0이어야 합니다.
abort$card(x) 'X에는 기본 레코드만 있어야 합니다.';

* 3: 기본값이 있는 변수 테이블을 사용합니다.
l(*)을 설정합니다.
변수 테이블 y(l<)
       난 지금이야
l0 0
m0 0
업인프 +INF
loInf -INF ;

lWant / l0, m0, upInf, loInf / 설정
    l테스트(u);

lTest(u) = lWant(u) xor l(u);
중단$카드(lTest) lTest;

* y에는 기본 레코드만 있습니다. -> 카드는 0이어야 합니다.
abort$card(y) 'Y에는 기본 레코드만 있어야 합니다.';

* 4: GDX에서 값이 0인 매개변수를 로드합니다.
m(*)을 설정합니다.
매개변수 pGDX(m<);
m원 설정 / 0*4 /
    mTest(u);

$gdxIn zero.gdx
$pGDX=p로드

mTest(u) = mWant(u) xor m(u);
중단$카드(mTest) mTest;