体育直播II上的SANE编程

产品:标准体育直播数字环境(SANE)
用途:数值计算
适用于:Apple II,III,Pascal
公司:体育直播计算机公司
包括:文档和磁盘
可用性:体育直播计算机经销商
价钱:$ 35

由J.B. Koons
致电A.P.P.L.E.杂志1985年7月PP19-20

现在,我们越来越多地听到,低端8位微处理器(例如位于所有Apple II和Apple III计算机核心位置的6502)的时代已经结束。如果您想进行实际工作,则需要一台装有新的16位或32位Wonderware芯片的机器。好吧,唐’t you believe it!

有了合适的软件,Apple II和III仍然可以像士兵一样发挥作用。体育直播公司拥有一个新的软件实用程序,再次证明了这一点。它’称为标准Apple数值环境(SANE)。因此,标题中的双关语。如果您需要进行高精度数学运算,则需要此软件包。此处介绍的软件包在Apple II和Apple III 帕斯卡系统下运行,并作为一组三个单元提供,供Pascal程序使用。也可以使用其他几个版本。其中包括在ProDOS操作系统下运行的与6502汇编语言一起使用的版本,以及在Macintosh和Lisa计算机上使用的版本。

桑尼实现了二进制浮点算法的IEEE标准754。此标准以及SANE的要求确实非常出色:扩展算术类型提供的尾数超过19个十进制数字,范围从10 ^ -4932到10 ^ 4932。

根据文档,此软件包支持标准草稿的所有功能,但舍入精度除外。据说该包装已经过标准委员会成员制定的测试程序的完全验证。

应用程序可以使用四种数据类型。这些是单人,双人,扩展和露营。 Single,Double和Extended是建议标准中定义的数据类型,而Camp是SANE软件包定义的其他类型。预置值是最多19个十进制数字的整数变量。 (63位)。不管应用程序使用哪种存储类型,都使用扩展类型执行所有计算,以保持最大可能的准确性。扩展数据值使用64位尾数和16位指数。

大多数工作可能将使用单精度或双精度类型完成。这些类型比扩展类型需要更少的存储,并且它们的使用允许在使用扩展类型执行的实际计算中使用保护位。

双精度例程允许尾数超过15个十进制数字(53位),并且十进制指数范围为+/- 308。所有操作都通过过程调用来执行。例如,为解决直角三角形的斜边,可以使用以下程序段。假设X,Y和H是双精度的,并且两个临时T1和T2是扩展类型。

与标准后缀表示法相比,这要方便得多。但是,当需要此程序包提供高精度时,使用单独的过程调用来评估表达式仍然比编写自己的浮点数学例程更简单!

为了了解与标准Pascal和Basic算术相比SANE的速度,我对一些简单的计算进行了时序测试。每个计算都是分别循环执行的。然后从该总数中减去运行空循环的时间,然后将所得时间除以循环计数,得出每个计算值的时间。

D2X(X,T1);
D2X(y,T2);
XPWRI(2,T1);
XPWRI(2,T2);
ADDX(T1,T2);
SQRT(T2);
X2D(T2,H);
{将X转换为扩展的T1}
{将Y转换为扩展的T2}
{平方T1}
{平方T2}
{T2< —T1 + T2(X ^ 2 + Y ^ 2)}
{T2< —SQRT(T2)SQRT(X ^ 2 + Y ^ 2)}
{将答案存储在H}

这些测试的结果在表1中示出。测试是用带有秒针的手表手动计时的。目的是为各种计算和语言提供相对时间的量度,而不是提供可以用作福音的特定数字。在比较这些数字时,请记住,BASIC的计算结果为9位,标准的Pascal计算结果为6位,而所有计算在SANE中均进行为19位。

Separate 桑尼 units are provided for the II and III computers. These units include procedures for addition, subtraction, multiplication, division, square root, comparison <, > =,=等),余数或取模,取反,绝对值和取整。

还提供了用于从外部固定或浮点格式转换为内部二进制格式并返回的全套例程。在这方面特别值得注意的是,您可以输入输入值并直接以科学计数法接收结果。例如,地球到太阳的距离9300万英里可以输入为93E6。

第三个单元,即Elems单元,提供了一组用于高精度评估三角函数和其他函数的过程。 Elems单元需要适当的SANE单元。提供的功能包括log(基数2和e),1n(1 + x),2 ^ x,e ^ x,e ^ x-1,x ^ y,sin(x),cos(x),tan(x )和arctan(x)。还包括使用复利和年金的程序以及随机数生成器。

在Apple II 64K系统上使用这些单元时,必须将它们安装在SYSTEM中。库和库必须在引导驱动器中在线。如果您有Apple IIc或带有扩展的30列卡片的谎言,则可以将单位放置在程序库文件中,以与128K 帕斯卡系统一起使用。无论哪种情况,这些都是大单元。如果将这些单元放置在SYSTEM.LIBRARY中,则可能会发现创建一个版本的SYSTEM很有用。仅包含这些单元以及给定应用程序所需的任何其他单元的库。仅包含SANE和Elems单元的库需要60个磁盘空间块。

表1:相对计算速度

测试Sane 基本知识 帕斯卡
A*B 				14 	5 	3
C * D 19 ------
辛(PI / 6)217 26 31
EXP(6)256 26 32
ATAN(.5)327 40 98
H = SQRT(A ^ Z + B ^ Z)149138 45 

所有时间均以毫秒为单位。在比较测量值时,请记住SANE可以计算出19位数字。 基本知识为9,Pascal为6。

A = 123456789E10 B = 987654321E5
C = 123456789E2000 D = 987654321E2000

该包装经过精心设计和生产。如果您需要它提供的功能,则它应该以少量投资获得可观的回报。虽然使用单个过程调用不像标准的前缀表示法那样方便,但是现在可以以比以前在微型计算机上更高的精度进行工作。

桑尼软件包位于不受复制保护的单个磁盘上。正如我们对Apple Computer Inc.的期望一样,该文档是完整而详细的; 90-7×将9英寸的页面打孔以插入特殊的Apple Workbench三环活页夹。孔间距与标准8.5不符×11″格式。如果您的经销商没有工作台活页夹,请使用专为6×9英寸的材料即使不那么完美,也是可行的。替代。关闭此较小的活页夹时,手册页将超出活页夹约半英寸。 桑尼的售价为35美元。从体育直播经销商处购买。

此评论的版本先前已出现在Access中,该出版物由LEDS Publishing Co.发行。

请关注并喜欢我们:

关于作者