sign3.gms : relop 연산자를 사용한 할당 테스트

설명

여기서 우리는 사전 스캔 루틴이 다음을 실현할 수 있을 만큼 "충분히 스마트"하다는 것을 테스트합니다.

[매개변수] > [양의 상수]

사용자의 추가 입력 없이 드물게 실행될 수 있습니다.

기고자: Lutz Westermann, 2025년 7월

소형 모델 유형 :피망 슬롯


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


메인 파일 : 할당3.gms

$title relop 연산자를 사용한 할당 테스트(ASSIGN3,SEQ=987)

$onText
여기서 우리는 사전 스캔 루틴이 다음을 실현할 만큼 "충분히 스마트"한지 테스트합니다.

[매개변수] > [양의 상수]

사용자의 추가 입력 없이 드물게 실행될 수 있습니다.

기고자: Lutz Westermann, 2025년 7월
$offText

i /i1*i400/을 설정합니다.
별칭(i,j,k);

매개변수 p(i,j,k);

p(i,j,k)$(균일(0,1)<0.01) = 1;

s1(i,j,k)를 설정합니다.
    s2(i,j,k),
    s3(i,j,k);

스칼라 T0, T1, T2, T3;

T0 = ​​TimeExec;
s1(i,j,k) = (p(i,j,k)>0) 및 (p(i,j,k)>1e-6);
T1 = TimeExec - T0;
T0 = ​​TimeExec;
s2(i,j,k) = (p(i,j,k)>1e-6);
T2 = TimeExec - T0;
T0 = ​​TimeExec;
s3(i,j,k) = (1e-6<p(i,j,k));
T3 = TimeExec - T0;

err2(i,j,k), err3(i,j,k)를 설정합니다.
err2(i,j,k) = s1(i,j,k) xor s2(i,j,k);
err3(i,j,k) = s1(i,j,k) xor s3(i,j,k);
abort$card(err2) 'S1과 S2는 동일하지 않습니다.', err2;
abort$card(err3) 'S1과 S3은 동일하지 않습니다.', err3;
abort$(T2>3*T1) 'S2 할당이 너무 느림', T1, T2;
abort$(T3>3*T1) 'S3 할당이 너무 느림', T1, T3;