apimod.inc : API 모델 라이브러리

 파일 : apimod.inc 다음 사용자: apiutil.gms[html]  testapi.gms[htmlPAlias.gms[html]

* -*- 기본 -*-
$hidden 모델을 추가할 때 몇 번에 걸쳐 이 파일을 업데이트해야 합니다.
$숨겨진 장소. $hidden 라인을 찾아보세요. 확인하려면 > 슬롯 게임 apimod.inc
$hidden glb 파일 등을 업데이트하려면 > 슬롯 게임 apiutil.gms를 실행하세요.
별칭(u,*)
SETS의 모델 일련 번호 / 1*56, 58, 60*63 /
$hidden 범프 시퀀스 번호 위

$sTitle 모델 이름 및 직함
m 모델명을 알파벳순으로 설정 /
$hidden 여기에 새 모델을 입력하고 순서대로 유지하세요
에이
apihtm 'HTM apilib 라이브러리 파일 생성'
apiutil 'API 모델 라이브러리 파일 생성'
비
C
Cex1 'GDX를 읽고 쓰기 위한 전문가 수준 C API 테스트'
Cex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하기 위한 전문가 수준 C API 테스트'
CSAlias '객체 지향 C# API에서 별칭 테스트 처리'
CSCalcInverse '인덱스된 GDX를 읽고 쓰기 위한 전문가 수준 C# API 테스트'
CSex1 'GDX를 읽고 쓰기 위한 전문가 수준 C# API 테스트'
CSex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하기 위한 전문가 수준 C# API 테스트'
CStrseq '전송 모델을 기반으로 일련의 예제를 실행하는 테스트 객체 지향 C# API'
CSBenders '(다중 스레드) Benders 분해 알고리즘을 사용하여 객체 지향 C# API 테스트'
CSClad '인터럽트 방법을 사용하여 실행하는 동안 솔버 옵션 변경 테스트'
CScutstock '컷팅 스톡 예제를 사용하여 객체 지향 C# API 테스트'
CSDomainChecking '도메인 검사를 위한 객체 지향 C# API 테스트'
CSInterrupt '객체 지향 .Net API에서 GamsJob 인터럽트 메커니즘 테스트'
CSNUnit '객체 지향 C# API에 대한 NUnit 테스트를 컴파일하고 실행합니다.'
CSSpecialValues '객체 지향 C# API에서 특수 값의 테스트 처리'
CSTsp '여행하는 외판원 문제를 사용하여 객체 지향 C# API 테스트'
CSWarehouse '웨어하우스 위치 문제를 이용한 객체지향 C# API 테스트'
CPPex1 'C++에서 GDX를 읽고 쓰기 위한 전문가 수준 C API 테스트'
CPPex2 'GDX를 읽고 쓰고, 옵션을 설정하고, C++에서 슬롯 게임를 실행하기 위한 전문가 수준 C API 테스트'
CPPex3 '객체 지향 C++ API 예제 테스트'
CPPtrseq '전송 모델을 기반으로 일련의 예제를 실행하는 테스트 객체 지향 C++ API'
디
DCex1 'GDX를 읽고 쓰기 위한 전문가 수준의 델파이(함수) API 테스트'
DOex1 'GDX를 읽고 쓰기 위한 전문가 수준의 Delphi(객체) API 테스트'
DPex1 'GDX를 읽고 쓰기 위한 전문가 수준의 Delphi(순수) API 테스트'
DOex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하기 위한 전문가 수준의 Delphi(객체) API를 테스트합니다.'
E
에프
Fex1 'GDX를 읽고 쓰기 위한 전문가 수준의 Fortran API 테스트'
Fex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하기 위한 전문가 수준의 Fortran API 테스트'
G
gdxperf '다양한 GDX API 테스트 및 실행 시간 보고'
'임의이지만 구조화된 GDX 파일 생성' 생성
H
나
제이
JAlias '객체 지향 Java API에서 별칭 테스트 처리'
JBenders '(멀티 스레드) Benders 분해 알고리즘을 사용하여 객체 지향 Java API 테스트'
JClad '인터럽트 방법을 사용하여 실행하는 동안 솔버 옵션 변경 테스트'
JCutstock '컷팅 스톡 예제를 사용하여 객체 지향 Java API 테스트'
JDomainCheck '도메인 검사를 위한 객체 지향 Java API 테스트'
Jex1 'GDX를 읽고 쓰기 위한 전문가 수준 Java API 테스트'
Jex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하기 위한 전문가 수준의 Java API 테스트'
JInterrupt '실행 중인 슬롯 게임 작업을 중단하기 위한 테스트 객체 지향 Java API'
JSpecialValues '객체 지향 Java API의 특수 값 처리 테스트'
Jtrseq '전송 모델을 기반으로 일련의 예제를 실행하는 테스트 객체 지향 Java API'
JTsp '여행하는 외판원 문제를 사용하여 객체 지향 Java API 테스트'
JWarehouse '웨어하우스 위치 문제를 이용한 객체 지향 Java API 테스트'
케이
엘
엠
엔
오
피
PAlias '별칭 처리에 대한 슬롯 게임control 테스트'
PDomainChecking '도메인 확인을 위해 슬롯 게임control 테스트'
Pex1 'GDX를 읽고 쓰려면 슬롯 게임core를 테스트하세요'
Pex2 'GDX를 읽고 쓰고, 옵션을 설정하고 슬롯 게임를 실행하려면 슬롯 게임core를 테스트하세요'
Pgamstransfer '테스트 슬롯 게임transfer'
Pgams_engine '슬롯 게임engine 테스트'
Pneos 'NEOS 서버에 슬롯 게임 모델 제출 테스트'
Ptrseq '전송 모델을 기반으로 일련의 예제를 실행하는 슬롯 게임control 테스트'
PBenders '(멀티 스레드) 벤더 분해 알고리즘을 사용하여 슬롯 게임control 테스트'
PClad '인터럽트 방법을 사용하여 실행하는 동안 솔버 옵션 변경 테스트'
PCutstock '컷팅 스톡 예제를 사용하여 슬롯 게임control 테스트'
PInterrupt 'GamsJob 인터럽트 메커니즘 테스트'
PWarehouse '창고 위치 문제를 활용한 슬롯 게임control 테스트'
PTsp '여행하는 세일즈맨 문제를 사용하여 슬롯 게임control 테스트'
PSpecialValues '특수 값의 슬롯 게임control 처리 테스트'
질문
R
S
티
testapi 'API 품질 보증 테스트'
유
뷔
VBex1 'GDX를 읽고 쓰기 위한 전문가 수준의 VB.Net API 테스트'
VBex2 'GDX 읽기 및 쓰기, 옵션 설정 및 슬롯 게임 실행을 위한 전문가 수준 VB.Net API 테스트'
VBtrseq '전송 모델을 기반으로 일련의 예제를 실행하는 테스트 객체 지향 VB.Net API'
여
X
Y
Z
/;

문자 설정(m) / a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z /;

set inc '포함 파일 목록, .inc 확장자로 가정됨' /
  'apimod' API 모델 라이브러리
/;

$onEmpty
set minc(m) '$included 모델 파일 목록' /
/;

set oinc(*) '필요한 다른 파일 목록 및/또는 $included' /
'demandwant.gdx'
'pfgdx.c'
'..\apifiles\슬롯 게임\model2.gms'
'..\apifiles\슬롯 게임\trnsport.gdx'
/;
$off비어 있음

set oincNOfs(*) '필요한 다른 파일 목록 및/또는 $include이지만 make를 위한 파일 목록을 작성할 때 포함되지만 (특별 처리되기 때문에) 포함됩니다.' /
'..\apifiles\슬롯 게임\model2.gms'
'..\apifiles\슬롯 게임\trnsport.gdx'
/;
$off비어 있음

set ainc(*) '모든 포함 파일';
ainc(u) = inc(u) 또는 summinc,sameas(minc,u);
* 또는 sumoinc,sameas(oinc,u);

$sTitle 모델 할당
sm(s,m) 모델 시퀀스 번호 할당 설정 /
  1.apiutil, 11.Pex1, 21.CStrseq, 31.PCutstock, 41.PWarehouse, 51.CSClad
  2.testapi, 12.VBex1, 22.CPPtrseq, 32.CSDomainChecking, 42.CSAlias, 52.PClad
  3.Cex1, 13.Cex2, 23.Jtrseq, 33.JDomainCheck, 43.JAlias, 53.JClad
  4.CSex1, 14.CSex2, 24.Ptrseq, 34.PDomainChecking, 44.PAlias, 54.PInterrupt
  5.CPPex1, 15.CPPex2, 25.VBtrseq, 35.JInterrupt, 45.apihtm, 55.CSInterrupt
  6.DCex1, 16.DOex2, 26.CSBenders, 36.CSTsp, 46.CSCalcInverse, 56.CPPex3
  7.DOex1, 17.Fex2, 27.JBenders, 37.JTsp, 47.CSSpecialValues
  8.DPex1, 18.Jex2, 28.PBenders, 38.PTsp, 48.PSpecialValues, 58.Pgamstransfer
  9.Fex1, 19.Pex2, 29.CSCutstock, 39.CSWarehouse, 49.JSpecialValues
 10.Jex1, 20.VBex2, 30.JCutstock, 40.JWarehouse, 50.CSNUnit, 60.Pgams_engine
 61.Pneos, 62.gdxperf, 63.generate
$숨겨진 시퀀스 . 이름 매핑이 여기에 표시됩니다.
/;

set incmap(*,s) '모델 s에 필요한 $include 파일 목록' /
$hidden 새 포함 파일 및/또는 새 $include 입력
$hidden apilib는 이 매핑에 따라 $include 파일을 복사합니다.
    'apimod' .( 1* 2, 44)
    'demandwant.gdx' .( 3* 20)
    'pfgdx.c' .62
    '..\apifiles\슬롯 게임\model2.gms' .(13* 20)
    '..\apifiles\슬롯 게임\trnsport.gdx' .( 3* 12)
/;

$hidden은 모델 유형을 알려줍니다.
단일 모델 유형 설정 / 슬롯 게임 '슬롯 게임'
                                 C'C와 CPP'
                                 디'델파이'
                                 F '포트란'
                                 J '자바'
                                 N '.Net'
                                 피 '파이썬' /
    ts(t,s) 유형별 분류 /
    슬롯 게임.( 1* 2, 45, 63)
    C.( 3, 5, 13, 15, 22, 56)
    D .( 6* 8, 16)
    F .( 9, 17)
    J .(10, 18, 23, 27, 30, 33, 35, 37, 40, 43, 49, 53)
    N .( 4, 12, 14, 20* 21, 25* 26, 29, 32, 36, 39, 42, 46* 47, 50*51, 55)
    P .(11, 19, 24, 28, 31, 34, 38, 41, 44, 48, 52, 54, 58, 60*62)
/;

$hidden은 모델 카테고리를 알려줍니다.
set c 단일 모델 카테고리 / 데모
                                 테스트
                                 도구 /
    cs(c,s) 카테고리별 분류 /
    데모.(3*31, 35*41, 46, 51*56)
    테스트.(32*34, 42*44, 47*50, 58, 60*62)
    도구.( 1, 2, 45, 63)
/;

$onEmpty
set big(s)을 실행하려면 전체 솔버 라이센스가 필요합니다. /
/;

set drop(t,s) 추가 드롭 세트 / /;
$off비어 있음

tss(t,s)는 IDE 파일에 사용되는 모델당 하나의 유형만 설정합니다.

* 여러 분류를 빠르고 지저분하게 삭제
tss(t,s) = ts(t,s) - 드롭(t,s);

별칭(s,ss); srev(s,s) 설정 역방향 설정 ; srev(s,s+(카드+1-2*ord(들))) = 예;

세트
    err1(s) '모델이 분류되지 않았거나 CS(C,S)에서 두 번 분류되었습니다.'
    err2(s) 'TS(T,S)에서 분류되지 않은 모델'
    err3(s) 'SM(S,M)으로 분류되지 않은 모델'
    err5(s) 'DROP(T,S)에 모든 유형이 삭제되었습니다.'
    err6(s) 'TSS(T,S)의 여러 유형'
    err7(t,s) '여러 유형이 있는 모델의 DROP(T,S)에서 드롭이 누락되었습니다.'
    err8(m) '모델 이름과 포함 이름은 같은 이름을 가질 수 없습니다';

err1(s) = sum(cs(c,s), 1) <> 1;
err2(s) = 합계가 아님(ts(t,s), yes);
err3(s) = 합계가 아님(sm(s,m), yes);
err5(s) = sum(t$(ts(t,s)-drop(t,s)), 1) = 0;
err6(s) = sum(tss(t,s), 1) > 1;
err7(t,s)$err6(s) = tss(t,s);
err8(m) = sum(inc, sameas(m,inc));

중단$카드(err1) err1;
중단$카드(err2) err2;
중단$카드(err3) err3;
중단$카드(err5) err5;
중단$카드(err6) err6,err7;
중단$카드(err7) err7;
중단$카드(err8) err8;