Fortran Coder

查看: 13707|回复: 7
打印 上一主题 下一主题

[子程序] 请问fortran有办法实现数组维数是个变量吗?

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2020-5-24 12:51:30 | 显示全部楼层
1. 如果你的多维数组不同元素直接是独立的,毫不相干。那么可以尝试用“逐元函数”,比如语法内的 sin 函数,就是一个逐元函数。你可以直接用它处理一个多维数组,计算每一个元素的正弦值。
2. 如果你的多维数组之间不是独立的,相互联系。你只能写多份函数,通过generic name让他们重载成一个通用名的函数名。比如语法内的 sin 函数,它同时也是重载的。
你可以用它处理单精度数据,也可以用它处理双精度数据。其实编译器的运行时库就是写了2份代码(sin和dsin)。

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2020-5-24 16:42:28 | 显示全部楼层
statdog 发表于 2020-5-24 14:15
感谢。我暂时用了select case对3到5每个case写了一遍函数。

那你岂不是得写3个参数??
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-2 13:37

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表