gdxxrw11.gms : 슬롯 게임 - 특수 값 읽기 및 쓰기

설명

이 모델은 "스프레드시트에서 특수 값 읽기 및 쓰기"를 확장합니다.
슬롯 게임 문서의 예, 즉 더 넓은 범위의 값이 사용되며
결과는 나중에 확인됩니다. 또한 옵션 약어는 다음에서 테스트됩니다.
비행(결과를 확인하기 위해).

특히 다음 옵션이 사용/테스트되었습니다.
   NaIn, squeeze, EpsOut, pInfOut, mInfOut, UndfOut, zeroOut, NaOut, ResetOut, 약어

기고자: Jan-Erik Justkowiak, 2018년 9월

소형 모델 유형 :슬롯 게임


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


메인 파일 : gdxxrw11.gms

$title GDXXRW - 특수 값 읽기 및 쓰기(GDXXRW11,SEQ=780)

$onText
이 모델은 "스프레드시트에서 특수 값 읽기 및 쓰기"를 확장합니다.
GDXXRW 문서의 예, 즉 더 넓은 범위의 값이 사용되며
결과는 나중에 확인됩니다. 또한 옵션 약어는 다음에서 테스트됩니다.
비행(결과를 확인하기 위해).

특히 다음 옵션이 사용/테스트되었습니다.
   NaIn, squeeze, EpsOut, pInfOut, mInfOut, UndfOut, zeroOut, NaOut, ResetOut, 약어

기고자: Jan-Erik Justkowiak, 2018년 9월
$offText

$callTool win32.msappavail Excel
$if errorlevel 1 $abort.noError "사용 가능한 Excel이 없습니다."

* 스프레드시트에서 특수 값 읽기
$call gdxxrw SpecialValues.xlsx 출력=vIN NaIn=N/A squeeze=n par=vIN rng=A1:AB2 cDim=1 추적=0
$ifE errorLevel<>0 $abort 스프레드시트에서 특수 값을 읽는 동안 오류가 발생했습니다!

* 예상되는 결과
$onUNDF
매개변수 vIN / v1 Eps, v2 Inf, v3 -Inf, v4 Inf, v5 NA, v6 NA, v7 Undf
                 v8 Undf, v9 Undf, v10 Undf, v11 Undf, v12 770, v13 Undf, v14 3
                v15 -1, v16 0, v17 -1, v18 0, v19 0, v20 5, v21 5
                v22 Undf, v23 0.05, v24 5.75, v25 0.5, v26 5, v27 42 /;

$gdxOut 제어Data_vIN
$unLoad vIN
$슬롯 게임아웃

* 결과 확인
$call gdxdiff controlData_vIN.슬롯 게임 vIN.슬롯 게임 > %system.nullfile%
$ifE errorLevel<>0 $abort 스프레드시트에서 읽은 후 데이터가 올바르지 않습니다!
*------------------------------------------------------------------

* 스프레드시트에 특수 값 쓰기
v / v1*v7 / 설정;
매개변수 vOUT(v) / v1 Eps, v2 +Inf, v3 -Inf, v4 Inf, v5 Undf, v6 0.0, v7 NA /;
스칼라 S / 0 /;

$gdxOut vOUT
$unLoad v vOUT S
$슬롯 게임아웃

$onEcho >howToWrite.txt
* 특수 값을 작성할 때 사용할 새 문자열 정의:
EpsOut=0 pInfOut=큰 숫자 mInfOut=작은 숫자 UndfOut=정의되지 않음 zeroOut=0 NaOut=사용할 수 없음

* 이제 병합과 함께 vOUT 매개변수를 작성하여 집합 요소 "v6" 및 vOUT("v6")을 포함하는 열 F를 강제 실행합니다.
설정=v rng=A1:G1 cDim=1
par=vOUT rng=A1:G2 cDim=1 병합
텍스트="v8" rng=H1
파=S rng=H2

* 특수 값에 대한 문자열을 기본값으로 재설정하고 vOUT을 다시 작성합니다.
재설정아웃
설정=v rng=A4:G4 cDim=1
par=vOUT rng=A4:G5 cDim=1 병합
텍스트="v8" rng=H4
파=S rng=H5
$offEcho

$call gdxxrw vOUT.슬롯 게임 @howToWrite.txt 추적=0
$ifE errorLevel<>0 $abort 스프레드시트에 특수 값을 쓰는 동안 오류가 발생했습니다!

* 예상되는 결과. 여기서는 "acronyms" 옵션을 확인하기 위해 약어를 사용합니다.
* 즉석에서 설명 텍스트가 있는 세트를 사용하는 것이 더 짧습니다(예:
* 마지막 주석 부분에 설명되어 있음)
약어
   bigNumber, smallNumber, 정의되지 않음, 사용할 수 없음, 0;

매개변수
   vOUT1 / v1 0, v2 bigNumber, v3 smallNumber, v4 bigNumber, v5 정의되지 않음, v7 notAvailible, v8 zero /
   vOUT2 / v1 Eps, v2 +Inf, v3 -Inf, v4 +Inf, v5 Undf, v7 NA, v8 0 /;

$gdxOut controlData_vOUT
$unLoad vOUT1 vOUT2
$슬롯 게임아웃

$call gdxxrw vOut.xlsx 약어=1 par=vOUT1 rng=A1:H2 cDim=1 par=vOUT2 rng=A4:H5 cDim=1 추적=0
$ifE errorLevel<>0 $abort vOUT.xlsx를 읽는 동안 오류가 발생했습니다!

* 결과 확인
$call gdxdiff controlData_vOUT.슬롯 게임 vOUT.슬롯 게임 > %system.nullfile%
$ifE errorLevel<>0 $abort 스프레드시트에 쓴 후 데이터가 올바르지 않습니다!
*------------------------------------------------------------------

$onText
* 예상되는 결과
세트
   vOUT1 / v1 '0', v2 'bigNumber', v3 'smallNumber', v4 'bigNumber', v5 '정의되지 않음', v6, v7 'notAvailible', v8 'zero' /
   vOUT2 / v1 'Eps', v2 '+Inf', v3 '-Inf', v4 '+Inf', v5 'Undf', v6, v7 'NA', v8 '0' /;

$gdxOut controlData_vOUT
$unLoad vOUT1 vOUT2
$슬롯 게임아웃

* 스프레드시트 vOUT.xlsx를 읽고 슬롯 게임에 작성하여 결과를 controlData_vOUT과 비교합니다.
$call gdxxrw vOUT.xlsx set=vOUT1 rng=A1:H2 값=dense cDim=1 set=vOUT2 rng=A4:H5 값=dense cDim=1 추적=0
$ifE errorLevel<>0 $abort vOUT.xlsx를 읽는 동안 오류가 발생했습니다!

* 결과 확인
$call gdxdiff controlData_vOUT.슬롯 게임 vOUT.슬롯 게임 > %system.nullfile%
$ifE errorLevel<>0 $abort 스프레드시트에 쓴 후 데이터가 올바르지 않습니다!
$offText