- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
科学计算的语言-Fortran95第14章 固有过程
第14章 固有过程 页码,1/12
第 章 固有过程
14
固然,我们已经能够做到运用FORTRAN 95来描述任何的计算任务,因为FORTRAN 95所提供的数据
类型,固有运算,派生类型,自定义运算,以及构造函数与子例行程序的方法,都足以使得我们应付任何
的计算问题。不过FORTRAN 95标准还提供了大量的科学计算的常规计算与函数,都可以作为固有过程直
接使用,而不需要我们自己来编写源码。这就好像对于一个汽车装配师,除了给他提供螺栓,轴承之类的
标准零件,还给他提供更高层次的标准配件,例如各种型号的发动机,电机之类。因此熟练掌握固有过
程,将给我们带来如虎添翼的感觉。
FORTRAN 95把固有过程作为标准来提出,就意味着任何的FORTRAN 95 的编译器实现版本,都必须
能够提供它们:115个固有过程,其中包括109个固有函数和6个固有子例行程序。当然不排除很多的编译
器还提供额外的固有过程。
正是由于固有过程是属于FORTRAN 95 的标准内容,因此和固有运算,例如+ ,一样,总是“ 随叫随
到”,无论在哪个程序单位内部,只要使用某个固有过程的名称,就等于调用了该固有过程。不过,如果
它的名称被用户定义的函数或子例行程序所“侵占”,那么在下面的情况下,被调用的将是用户自定义的函
数或子例行程序而不是固有过程:
● 该自定义函数或子例行程序的界面是显式的;
● 该自定义函数或子例行程序出现在EXTERNAL语句当中;
● 该自定义函数属于语句函数。
当然上述的名称被侵权的有效范围只是该自定义函数或子例行程序的作用域。相应的,固有过程也就
只能在下面的情形下夺回被侵占的名称:
● 不存在使用该名称的语句函数;
● 它的名称出现在INTRINSIC语句当中;
● 相应的用户定义的过程的界面是隐式的。
例如在一个模块或一个内部过程里面,由于它的界面是显式的,那么固有过程的名称就能够被侵占,
除非固有过程的名称出现在一个有效的INTRINSIC语句当中。
下面我们主要讨论固有过程的按照功能的分类,以及每个种类的固有过程所能够完成的计算任务。
的固有过程主要分为如下 类:
FORTRAN 95 5
● 查询与数字操作函数;
● 转换,置空以及传递函数;
● 计算函数;
● 数组函数;
● 固有子例行程序。
在分别讨论上面 种固有过程之前,我们首先讨论 章所没有仔细讨论的固有过程的一些特点。
5 13
14.1 固有过程的分类与性质
固有过程可以从形式和功能两个方面来进行分类。
从形式的角度来看,固有过程分为如下两类:
● 类过程;
● 种过程。
所谓类过程是一个集合名称,类过程与种过程是一个集合与其元素的关系。一个类过程由两个或多个
/popular/fortran/14.htm 2006-1-5
第14章 固有过程 页码,2/12
种过程组成。
在固有过程中间之所以会出现这种关系,是因为过程所具体针对的变元的作为数据对象的类型与种
别,是具有不同分类的,这样就导致同一个函数,当它的变元取不同类型或种别的数据值时,就需要对固
有过程按照情形进行分类,甚至采用不同的过程名称,来应对相应的变元情况。例如同样是求一个变量的
绝对值,当该变量分别取实型和复型数值时,就对应了完全不同的计算过程,因此有必要给予不同的函数
名称,尽管在数学的意义上,都是成为取绝对值。
在所有的115个固有过程当中,除了如下4个固有函数外,其他都是类过程:
● LGE ;
● LGT ;
● LLE ;
● LLT 。
对于每个类过程属下的种过程,显然都必定具有相应的类型,种别,甚至秩的属性。
许多的种过程具有专门的过程名称,在
文档评论(0)