⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdfloat.tpl

📁 在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己的开发
💻 TPL
字号:
REM wDFloat.tpl
REM EPOC OPL interactive test code for dFLOAT.
REM Copyright (c) 1991-2000 Symbian Ltd. All rights reserved.

DECLARE EXTERNAL
INCLUDE "hUtils.oph"
EXTERNAL dowDFloat1:
EXTERNAL dowDFloat2:
EXTERNAL dowDFloat3:
EXTERNAL dowDFloat4:
EXTERNAL dowDFloat10:
EXTERNAL dowDFloat12:
EXTERNAL dowDFloat13:


PROC Standalone:
	REM Main procedure called when not running inside test harness.
	LOADM KhUtils$
	hLink:( "wdFloat", hThreadIdFromOplDoc&:, KhUserLoggingOnly%) 
	REM After standalone completion, control returns here.
	REM Start looping, think this test is finishing too soon.
	DO
		dINIT "Tests complete" :DIALOG
		print DATIM$, "I'm still alive and I should be dead."
	UNTIL 0
ENDP


PROC wdFloat:
	rem hInitTestHarness:(KhInitLocalErrorHandling%, KhInitNotUsed%)
	hCall%:("doWDFloat")
	hSpoofSetFlagTargetApp%:(CMD$(1),KhDeleteFlag%)
ENDP


PROC dowDFloat:
	dowDFloat1:
	dowDFloat2:
	dowDFloat3:
	dowDFloat4:

	dowDFloat10:
	dowDFloat12:
	dowDFloat13:
ENDP


proc dowDFloat1:
	local d1,d2,d3,d4,d5,d6
	local rep&
	dInit "dFloat test"
	dFloat d1,"]-1e100,1e100[ (9.999e99)",-9.99999999999999e99,9.99999999999999e99
	dFloat d2,"]-1e100,-1e-99] (-1e-99)",-9.99999999999999e99,-1e-99
	dFloat d3,"]-1e100,0] (-9.999e99)",-9.99999999999999e99,0
	dFloat d4,"[0,1e100[ (9.999e99)",0,9.99999999999999e99
	dFloat d5,"[1e-99,1e100[ (1e99)",1e-99,9.99999999999999e99
	dFloat d6,"0 only (0)",0,0
	IF dialog=0 :RAISE 1 :ENDIF
	IF d1<>9.999e99 :rep&=rep&+2 :ENDIF
	IF d2<>-1e-99 :rep&=rep&+4 :ENDIF
	IF d3<>-9.999e99 :rep&=rep&+8 :ENDIF
	IF d4<>9.999e99 :rep&=rep&+16 :ENDIF
	IF d5<>1e99 :rep&=rep&+32 :ENDIF
	IF d6<>0 :rep&=rep&+64 :ENDIF
	IF rep& :RAISE rep& :ENDIF
endp


proc dowDFloat2:
	local d11,d12,d13,d14,d15,d16
	local rep&
	rem New dialog added for Opl32 to check numbers >=1E100
	dInit "dFloat test full range"
	dFloat d11,"]-Max,Max[ (1.797e308)",-1.7976931348623156e308,1.7976931348623156e308
	dFloat d12,"]-Max,-Min] (-4.999e-324)",-1.7976931348623156e308,-5e-324
	dFloat d13,"]-Max,0] (-1.797e308)",-1.7976931348623156e308,0
	dFloat d14,"[0,Max[ (1.797e308)",0,1.7976931348623156e308
	dFloat d15,"[Min,Max[ (4.999e-324)",5e-324,1.7976931348623156e308
	dFloat d16,"0 only (0)",0,0
	IF dialog=0 :RAISE 1 :ENDIF
	IF d11<>1.797e308 : rep&=rep&+2 :ENDIF
	IF d12<>-4.999e-324 : rep&=rep&+4 :ENDIF
	IF d13<>-1.797e308 : rep&=rep&+8 :ENDIF
	IF d14<>1.797e308 : rep&=rep&+16 :ENDIF
	IF d15<>4.999e-324 : rep&=rep&+32 :ENDIF
	IF d16<>0 :rep&=rep&+64 :ENDIF
	IF rep& :RAISE rep& :ENDIF
endp


PROC dowDFloat3:
	local d1
	d1=0
	dInit
	dFloat d1,"[0,5.77] (3.14)",0,5.77
	IF dialog=0 :RAISE 1 :ENDIF
	IF d1<>3.14 :RAISE 2 :ENDIF
ENDP


PROC dowDFloat4:
	local d1,d2,d3,d4,d5,d6
	local rep&
	dInit
	dFloat d1,"-1e100,0 (-1e100)",-1e99*10,0
	dFloat d2,"-1e121,0 (-9.999e120)",-1e99*1e22,0
	dFloat d3,"0,1e100 (1e100)",0,1e99*10
	dFloat d4,"0,1e121 (9.999e120)",0,1e22*1e99
	dFloat d5,"-1e-100,0 (-1e-100)",-1e-99*10,0
	dFloat d6,"-1e-121,0 (-1e-121)",-1e-99*1e-22,0
	IF dialog=0 : RAISE 1 : ENDIF
	IF d1<>-1e100 : rep&=rep&+2 :ENDIF
	IF d2<>-9.999e-120 : rep&=rep&+4 :ENDIF
	IF d3<>1e100 : rep&=rep&+8 :ENDIF
	IF d4<>9.999e120 : rep&=rep&+16 :ENDIF
	IF d5<>-1e-100 : rep&=rep&+32 :ENDIF
	IF d6<>-1e-121 :rep&=rep&+64 :ENDIF
	IF rep& :RAISE rep& :ENDIF
ENDP


PROC dowDFloat10:
	local d1,d2
	local rep&
	dInit
	dFloat d1,"0,1e-100 (1e-100)",0,1e-99*10
	dFloat d2,"0,1e-121 (1e-121)",0,1e-22*1e-99
	IF dialog=0 : RAISE 1 : ENDIF
	IF d1<>1e-100 : rep&=rep&+2 :ENDIF
	IF d2<>1e-121 : rep&=rep&+4 :ENDIF
	IF rep& :RAISE rep& :ENDIF
ENDP


PROC dowDFloat12:
	local d1,rep&
	dInit
	d1=-1
	dFloat d1,"0,10 :init -1 (10)",0,10
	IF dialog=0 : RAISE 1 : ENDIF
	IF d1<>10 : rep&=rep&+2 :ENDIF
	IF rep& :RAISE rep& :ENDIF
ENDP


PROC dowDFloat13:
	local d1,rep&
	dInit
	d1=20
	dFloat d1,"0,10 :init 20 (10)",0,10
	IF dialog=0 : RAISE 1 : ENDIF
	IF d1<>10 : rep&=rep&+2 :ENDIF
	IF rep& :RAISE rep& :ENDIF
ENDP


REM End of WDFloat.tpl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -