Fortran函数大全(1)

更新时间:2023-07-29 23:19:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Fortran 库参考

Sun Studio 11

Sun Microsystems,

文件号码 819-4757-102005 年 11 月,修订版 A

请将有关本文档的意见和建议提交至:/hwdocs/feedback

版权所有 © 2005 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. 保留所有权利。

美国政府权利 - 商业用途。政府用户应遵循 Sun Microsystems, Inc. 的标准许可协议,以及 FAR(Federal Acquisition Regulations,即“联邦政府采购法规”)的适用条款及其补充条款。必须依据许可证条款使用。本发行版可能包含由第三方开发的内容。

本产品的某些部分可能是从 Berkeley BSD 系统衍生出来的,并获得了加利福尼亚大学的许可。UNIX 是 X/Open Company, Ltd. 在美国和其他国家/地区独家许可的注册商标。

Sun、Sun Microsystems、Sun 徽标、Java 和 JavaHelp 是 Sun Microsystems, Inc. 在美国和其他国家/地区的商标或注册商标。所有的 SPARC 商标的使用均已获得许可,它们是 SPARC International, Inc. 在美国和其他国家/地区的商标或注册商标。标有 SPARC 商标的产品均基于由 SunMicrosystems, Inc. 开发的体系结构。

本服务手册所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家/地区的进出口法律。严禁将本产品直接或间接地用于核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户。严禁出口或转口到美国禁运的国家/地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家/地区的公民。 本文档按“原样”提供,对于所有明示或默示的条件、陈述和担保,包括对适销性、适用性或非侵权性的默示保证,均不承担任何责任,除非此免责声明的适用范围在法律上无效。

目录

阅读本书之前印刷约定

xi

xi

Shell 提示符支持的平台

xiixiii

xiii

访问 Sun Studio 软件和手册页访问编译器和工具文档访问相关的 Solaris 文档开发者资源

xviii

xixxixxvixviii

联系 Sun 技术支持Sun 欢迎您提出意见1.

Fortran 库例程1.11.21.3

1–1

数据类型注意事项64 位环境

1–2

1–1

Fortran 数学函数1.3.11.3.21.3.3

单精度函数

1–31–3

双精度函数 1–6四倍精度函数

1–91–11

1–11

iii

1.4Fortran 库例程参考1.4.1

abort:终止和写入核心文件

1.4.21.4.31.4.41.4.51.4.61.4.71.4.81.4.91.4.101.4.111.4.121.4.131.4.141.4.151.4.161.4.171.4.181.4.191.4.201.4.211.4.221.4.231.4.241.4.251.4.261.4.271.4.281.4.29

access:检查文件权限或存在性 1–11

alarm:在指定的时间后调用子例程 1–12bit:位函数:and、or、…、bit、setbit、…chdir:更改默认目录chmod:更改文件的模式

1–13

1–161–17

1–18

date:获取以字符串表示的当前日期dtime,etime:经过的执行时间exit:终止进程并设置状态

1–20

1–23

1–23

fdate:以 ASCII 字符串返回日期和时间 flush:刷新逻辑单元的输出

1–24

fork:创建当前进程的副本 1–25

fseek, ftell:确定文件的位置以及重新确定文件的位置

1–25

fseeko64,ftello64:确定大文件的位置以及重新确定大文件的

位置 1–27

1–29

getarg,iargc:获取命令行参数getc,fgetc:获取下一个字符

1–30

1–32

getcwd:获取当前工作目录的路径 getenv:获取环境变量的值 1–33

getfd:获取外部单元编号的文件描述符 getfilep:获取外部单元编号的文件指针getlog:获取用户的登录名getpid:获取进程 ID

1–341–34

1–36

1–36

1–36

getuid,getgid:获取进程的用户 ID 或组 IDhostnm:获取当前主机的名称 1–37idate:返回当前日期

1–38

1–38

ieee_flags,ieee_handler,sigfpe:IEEE 算术

index,rindex,lnblnk:子串的索引或长度。1–44inmax:返回最大正整数 1–45itime:当前时间

1–46

iv《Fortran 库参考》 2005 年 11 月

1.4.301.4.311.4.321.4.331.4.341.4.35kill:将信号发给进程 1–47

1–47

link,symlnk:链接到现有的文件loc:返回对象的地址

1–49

1–49

1–50

long,short:整型对象转换

longjmp, isetjmp:返回至 isetjmp 设置的位置

malloc,malloc64,realloc,free:分配/重新分配/释放内

存1–52

1.4.36mvbits:移动位字段

1–56

1.4.37perror,gerror,ierrno:获取系统错误消息1–57

1.4.38putc,fputc:将字符写入逻辑单元

1–58

1.4.39qsort,qsort64:对一维数组的元素进行排序 1–601.4.40ran:生成一个介于 0 和 1 之间的随机数1–62

1.4.41rand,drand,irand:返回随机值1–63

1.4.42rename:重命名文件

1–64

1.4.43secnds:获取以秒数表示的系统时间并减去参数

1–65

1.4.44set_io_err_handler,get_io_err_handler:

设置并获取 I/O 错误处理程序1–65

1.4.45sh:快速执行 sh 命令

1–68

1.4.46signal:更改信号的操作

1–69

1.4.47sleep:一段时间暂停执行 1–701.4.48stat,lstat,fstat:获取文件状态

1–70

1.4.49stat64,lstat64,fstat64:获取文件状态 1–73

1.4.50system:执行系统命令

1–73

1.4.51time,ctime,ltime,gmtime:获取系统时间1–74

1.4.52ttynam,isatty:获取终端端口的名称 1–781.4.53unlink:删除文件 1–791.4.54

wait:等待进程终止 1–80

2.

Fortran 95 内部函数2–1

2.1

标准 Fortran 95 的通用内部函数

2–1

v

目录

2.1.12.1.22.1.32.1.42.1.52.1.62.1.72.1.82.1.92.1.102.1.112.1.122.1.132.1.142.1.152.1.162.1.172.1.182.1.192.1.202.1.212.1.222.1.23

2.2

参数存在查询函数数值函数数学函数字符函数

2–22–22–3

2–4

2–1

字符查询函数种类函数逻辑函数

2–42–4

数值查询函数位查询函数位操作函数传送函数

2–42–52–5

2–5

2–6

2–6

浮点处理函数

向量和矩阵乘法函数约简数组函数数组查询函数数组构造函数数组整形函数数组处理函数数组位置函数

2–62–72–72–72–72–8

指针关联状态函数系统环境调节过程内子例程

2–9

2–82–8

内部函数的专用名称

2–12

2–9

Fortran 2000 模块例程2.2.12.2.2

IEEE 算术和异常模块C 绑定模块

2–15

2–12

2.3非标准 Fortran 95 内部函数2.3.1

2–15

2–16

基本线性代数函数 (BLAS)

vi《Fortran 库参考》 2005 年 11 月

2.3.22.3.3区间运算内部函数2–16

2–17

其他供应商的内部函数2.3.4

其他扩展

2–18

FORTRAN 77 和 VMS 内部函数3–1

3.1

算术和数学函数3–23.1.1算术函数

3–2

3.1.2类型转换函数3–4

3.1.3三角函数

3–6

3.1.4

其他数学函数3–8

3.2字符函数3–93.3

杂项函数3–10

3.3.1位操作 3–103.3.2环境查询函数 3–113.3.3

内存 3–123.4备注3–13

3.4.1

有关函数的注释

3–14

3.5VMS 内部函数3–18

3.5.1VMS 双精度复数

3–18

3.5.2VMS 基于度数的三角函数3.5.3VMS 位操作

3–20

3.5.4

VMS 多个整数类型

3–21

索引索引–1

3–19

vii

3.

目录

viii《Fortran 库参考》 2005 年 11 月

表1-1表1-2表1-3表1-4表1-5表1-6表1-7表2-1表2-2表2-3表3-1表3-2表3-3表3-4表3-5表3-6表3-7表3-8表3-9表3-10

64 位环境的库例程单精度数学函数双精度数学函数

1–3

1–41–7

1–101–39

四倍精度 libm 函数IEEE 算术支持例程

ieee_flags(action,mode,in,out)参数和操作1–39ieee_handler(action,in,out)参数1–40

Fortran 95 内部函数的专用名称和通用名称BLAS 内部函数2–16

Cray CF90 和其他编译器的内部函数Fortran 77 算术函数

3–2

2–17

2–9

Fortran 77 类型转换函数3–4Fortran 77 三角函数3–6其他 Fortran 77 数学函数Fortran 77 字符函数

3–9

3–8

Fortran 77 按位函数3–10Fortran 77 环境查询函数3–11Fortran 77 内存函数3–12VMS 双精度复数函数

3–18

3–19

VMS 基于度数的三角函数

ix

表3-11表3-12

VMS 位操作函数VMS 整数函数

3–203–21

x《Fortran 库参考》 2005 年 11 月

阅读本书之前

《Fortran 库参考》介绍了 Sun Studio Fortran 库中的内部函数和例程。该参考手册适用于具有 Fortran 语言和 Solaris 操作环境使用经验的编程人员。

该指南适用于具有 Fortran 语言使用经验以及想了解如何有效地使用 Sun Fortran 编译器的科研人员、工程师和编程人员。同时,假定这些人员熟悉 Solaris 操作环境或UNIX®。

配套提供的《Fortran 编程指南》中介绍了 Solaris 操作环境中的 Fortran 编程问题,其中包括输入/输出、应用程序开发、库的创建和使用、程序分析、移植、优化和并行化。

印刷约定

表P-1 字体a

字体约定

含义

示例

AaBbCc123

命令、文件和目录的名称;计算机屏幕输出。

编辑 .login 文件。

使用 ls -a 列出所有文件。% You have mail.% su

Password:

这些称为 class 选项。

要删除文件,请键入 rm filename。您必须成为超级用户才能执行此操作。阅读《用户指南》的第 6 章。

AaBbCc123AaBbCc123

用户键入的内容,与计算机屏幕输出的显示不同。

保留未译的新词或术语以及要强调的词。要使用实名或值替换的命令行变量。

新词或术语以及要强调的词。书名

新词术语强调《书名》

a浏览器的设置可能会与这些设置不同。

xi

符号 表示有效的空格:

36.001

FORTRAN 77 标准使用较旧的约定,以大写字母的形式拼写名称 “FORTRAN”。当前

“Fortran95” 的约定使用小写字母:

出现的联机手册页参考带有主题名称和章节号。例如,库例程 GETENV 的参考显示为

getenv(3F),这意味着访问此手册页的 man 命令为: man -s 3F getenv

代码约定

含义

表示法

代码示例

表P-2 代码符号

[ ]{ }|:…

方括号中包含可选参数。花括号中包含所需选项的选项

集合。

O[n]d{y|n}

-O4, -O-dy-Bstatic

-R/local/libs:/U/a-xinline=alpha,dos

分隔变量的 “|” 或 “-” 符号,B{dynamic|static}只能选择其一。

与逗号一样,分号有时可用于分隔参数。

省略号表示一系列的省略。

Rdir[:dir]

-xinline=f1[,…fn]

Shell 提示符

Shell

提示符

C shell

C shell 超级用户

Bourne shell、Korn shell 和 GNU Bourne-Again shellBourne shell、Korn shell 和 GNU Bourne-Again shell超级用户

machine-name%machine-name#$#

xii《Fortran 库参考》 2005 年 11 月

支持的平台

此 Sun Studio 发行版本支持使用 SPARC® 和 x86 系列处理器体系结构(UltraSPARC®、SPARC64、AMD64、Pentium 和 Xeon EM64T)的系统。通过访问

/bigadmin/hcl 中的硬件兼容性列表,可以了解您在使用的Solaris 操作系统版本的支持系统。这些文档列出了实现各个平台类型的所有差别。在本文档中,这些与 x86 有关的术语具有以下含义:

■■■

“x86” 是指较大的 64 位和 32 位 x86 兼容产品系列。“x64” 表示有关 AMD64 或 EM64T 系统的特定 64 位信息。“32 位 x86”表示有关基于 x86 的系统的特定 32 位信息。

有关所支持的系统,请参见硬件兼容性列表。

访问 Sun Studio 软件和手册页

Sun Studio 软件及其手册页未安装到 /usr/bin/ 和 /usr/share/man 标准目录中。要访问软件,必须正确设置 PATH 环境变量(请参见 第 xiii 页的“访问软件”)。要访问手册页,必须正确设置 MANPATH 环境变量(请参见第 xiv 页的“访问手册页”)。有关 PATH 变量的详细信息,请参见 csh(1)、sh(1)、ksh(1) 和 bash(1) 手册页。有关MANPATH 变量的详细信息,请参见 man(1) 手册页。有关设置 PATH 变量和 MANPATH 变量以访问此发行版本的详细信息,请参见安装指南或询问系统管理员。

注 – 本节中的信息假设 Sun Studio 软件安装在 Solaris 平台上的 /opt 目录中和 Linux平台上的 /opt/sun 目录中。如果未将软件安装在默认目录中,请询问系统管理员以获取系统中的相应路径。

访问软件

使用以下步骤决定是否需要更改 PATH 变量以访问该软件。

阅读本书之前xiii

决定是否需要设置 PATH 环境变量

1.通过在命令提示符后键入以下内容以显示 PATH 变量的当前值。

% echo $PATH

2.在 Solaris 平台上,查看输出中是否包含有 /opt/SUNWspro/bin 的路径字符串。在Linux 平台上,查看输出中是否包含有 /opt/sun/sunstudio11/bin 的路径字符串。如果找到该路径,则说明已设置了访问该软件的 PATH 变量。如果没有找到该路径,则需要按照下一步的说明来设置 PATH 环境变量。

设置 PATH 环境变量以实现对软件的访问

●在 Solaris 平台上,将以下路径添加到 PATH 环境变量中。如果以前安装了 Forte Developer

软件、Sun ONE Studio 软件,或其他发行版本的 Sun Studio 软件,则将以下路径添加到这些安装路径之前。/opt/SUNWspro/bin

●在 Linux 平台上,将以下路径添加到 PATH 环境变量中。

/opt/sun/sunstudio11/bin

访问手册页

使用以下步骤决定是否需要更改 MANPATH 变量以访问手册页。

决定是否需要设置 MANPATH 环境变量

1.通过在命令提示符后输入以下内容以请求 dbx 手册页。

% man dbx

2.请查看输出(如果有)。

如果找不到 dbx(1) 手册页或者显示的手册页不是软件当前版本的手册页,请按照下一步的说明来设置 MANPATH 环境变量。

xiv《Fortran 库参考》 2005 年 11 月

设置 MANPATH 环境变量以实现对手册页的访问

●在 Solaris 平台上,将以下路径添加到 MANPATH 环境变量中。

/opt/SUNWspro/man

●在 Linux 平台上,将以下路径添加到 MANPATH 环境变量中。

/opt/sun/sunstudio11/man

访问集成开发环境

Sun Studio 集成开发环境 (integrated development environment, IDE) 提供了创建、编辑、生成、调试 C、C++ 或 Fortran 应用程序并分析其性能的模块。

启动 IDE 的命令是 sunstudio。有关该命令的详细信息,请参见 sunstudio(1) 手册页。 IDE 是否可以正确操作取决于 IDE 能否找到核心平台。sunstudio 命令查找两个位置的核心平台:

该命令首先查找 Solaris 平台上的默认安装目录 /opt/netbeans/3.5V11 和 Linux平台上的默认安装目录 /opt/sun/netbeans/3.5V11。

如果该命令在默认目录找不到核心平台,则它会假设包含 IDE 的目录和包含核心平台的目录均安装在同一位置上。例如,在 Solaris 平台上,如果包含 IDE 的目录的路径是 /foo/SUNWspro,则该命令会在 /foo/netbeans/3.5V11 中查找核心平台。在Linux 平台上,如果包含 IDE 的目录的路径是 /foo/sunstudio11,则该命令会在/foo/netbeans/3.5V11 中查找核心平台。

如果核心平台未安装在 sunstudio 命令查找它的任一位置上,则客户端系统上的每个用户必须将环境变量 SPRO_NETBEANS_HOME 设置为安装核心平台的位置(/installation_directory/netbeans/3.5V11)。 在 Solaris 平台上,IDE 的每个用户也必须将 /installation_directory/SUNWspro/bin 添加到其他任何 Forte Developer 软件、Sun ONE Studio 软件或 Sun Studio 软件发行版本路径前面的 $PATH 中。在 Linux 平台上,IDE 的每个用户也必须将

/installation_directory/sunstudio11/bin 添加到其他任何发行版本的 Sun Studio 软件路径前面的 $PATH 中。

路径 /installation_directory/netbeans/3.5V11/bin 不能添加到用户的 $PATH 中。

阅读本书之前xv

访问编译器和工具文档

您可以访问以下位置的文档:

可以通过随软件一起安装在本地系统或网络上的文档索引获取文档,位置为 Solaris 平台上的 file:/opt/SUNWspro/docs/zh/index.html 和 Linux 平台上的file:/opt/sun/sunstudio11/docs/zh/index.html。

如果未将软件安装在 Solaris 平台上的 /opt 目录中或 Linux 平台上的 /opt/sun目录中,请询问系统管理员以获取系统中的相应路径。

大多数的手册都可以从 sm Web 站点获取。以下书目只能从 Solaris 平台上安装的软件中找到:

■■■■

《标准 C++ 库类参考》《标准 C++ 库用户指南》《Tools.h++ 类库参考》《Tools.h++ 用户指南》

适用于 Solaris 平台和 Linux 平台的发行说明可以通过 Web 站点获取。

在 IDE 中通过“帮助”菜单以及许多窗口和对话框上的“帮助”按钮,可以访问 IDE所有组件的联机帮助。

您可以通过 Internet 访问 Web 站点 () 以阅读、打印和购买 Sun Microsystems 的各种手册。如果找不到手册,请参见与软件一起安装在本地系统或网络中的文档索引。

注 – Sun 对本文档中提到的第三方 Web 站点的可用性不承担任何责任。对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun 并不表示认可,也不承担任何责任。对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、物品或服务而造成的或连带产生的实际或名义损坏或损失,Sun 概不负责,也不承担任何责任。

xvi《Fortran 库参考》 2005 年 11 月

使用易读格式的文档

该文档以易读格式提供,以方便残障用户使用辅助技术进行阅读。您还可以按照下表所述,找到文档的易读版本。如果未将软件安装在 /opt 目录中,请询问系统管理员以获取系统中的相应路径。

文档类型

易读版本的格式和位置

手册(第三方手册除外)第三方手册:

《标准 C++ 库类参考》 《标准 C++ 库用户指南》 《Tools.h++ 类库参考》 《Tools.h++ 用户指南》自述文件手册页

HTML,位于

HTML,位于 Solaris 平台上所安装软件中的文档索引file:/opt/SUNWspro/docs/zh/index.html

HTML,位于 Sun Developer Network 门户网站

/prodtech/cc/documentation/HTML,位于安装的软件上的文档索引,位置为 Solaris 平台上的

file:/opt/SUNWspro/docs/zh/index.html 和 Linux 平台上的file:/opt/sun/sunstudio11/docs/zh/index.html。HTML,可通过 IDE 中的“帮助”菜单和“帮助”按钮访问HTML,位于

联机帮助发行说明

相关编译器和工具文档

下表描述的相关文档可以在 file:/opt/SUNWspro/docs/zh/index.html 和

上获取。如果未将软件安装在 /opt 目录中,请询问系统管理员以获取系统中的相应路径。

文档标题

描述

《Fortran 编程指南》《Fortran 用户指南》《OpenMP API 用户指南》《数值计算指南》

描述了如何在 Solaris 环境中编写有效的 Fortran 程序;输入/输出、库、性能、调试和并行化。描述了 f95 编译器的编译时环境和命令行选项。

OpenMP 多处理 API 摘要,并提供有关实现的详细信息。描述关于浮点计算数值精确性的问题。

阅读本书之前xvii

访问相关的 Solaris 文档

下表描述了可从 Web 站点上获取的相关文档。

文档集合

文档标题

描述

Solaris 参考手册集合Solaris 软件开发者集合Solaris 软件开发者集合

请参见手册页部分的标题。提供有关 Solaris 操作系统的

信息。《链接程序和库指南》《多线程编程指南》

描述了 Solaris 链接编辑器和运行时链接程序的操作。

涵盖 POSIX 和 Solaris 线程 API、使用同步对象进行程序设计、编译多线程程序和多线程程序的查找工具。

开发者资源

访问 Sun Developer Network Sun Studio 门户网站

/prodtech/cc 以查找以下经常更新的资源:

■■■■■■■

有关编程技术和最佳实例的文章有关编程小技巧的知识库

软件的文档,以及随软件一同安装的文档的更正信息有关支持级别的信息用户论坛

可下载的代码样例新技术预览

Sun Studio 门户网站是 Sun Developer Network 网站

上的很多额外开发者资源之一。

xviii《Fortran 库参考》 2005 年 11 月

联系 Sun 技术支持

如果您遇到通过本文档无法解决的技术问题,请访问以下网址:/service/contacting

Sun 欢迎您提出意见

Sun 致力于提高其文档的质量,并十分乐意收到您的意见和建议。您可以通过以下网址提交您的意见和建议:

/hwdocs/feedback

请在电子邮件的主题行中注明文档的文件号码。例如,本文档的文件号码是 819-4757-10。

阅读本书之前xix

本文来源:https://www.bwwdw.com/article/th2m.html

Top