欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Fortran For Fun之纯函数 递归函数 逐元函数

最编程 2024-01-14 08:21:35
...

Fortran中存在几种特殊的函数或子程序,这些函数或子程序需要在定义时特殊说明。主要有以下三种特殊程序

pure程序 (纯程序)

recursive程序 (递归程序)

elemental程序 (逐元程序)

pure 程序

pure程序是不造成任何副作用的程序,即不能对输入参数以及模块中的数据进行修改,局部变量定义时不能初始化,也不能有save属性。很多函数都可以定义为pure 函数。

该程序中定义了add纯函数,作用是将两个字符合起来,相当于//符号, 可以利用该函数重载 +,使文字合并操作与 python 一致。

结果

recursive 程序

递归程序是不断调用自身的程序,它一定是一个纯程序

该程序中定义了 fact 递归函数,求一个整数的阶乘。

结果

elemental 程序

elemental程序的形参是标量,但输入参数可以是标量也可以是数组,如果是数组,则对数组中的每一个元素调用该程序。逐元程序也必须是纯函数。

该程序中定义了将字符转换为整数的逐元函数to_int和将字符转化为实数的逐元函数to_real。

结果

推荐阅读