首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Fortran等价

Fortran等价
EN

Stack Overflow用户
提问于 2015-03-11 20:56:45
回答 1查看 308关注 0票数 0

我想使用Equivalence。它怎么能在gfortran-5中使用?

我正在使用:

代码语言:javascript
运行
复制
Select Case (dst)
Case ("cm")
  Equivalence :: (cm2Mm_r32, r32), (cm2Mm_r64, r64)
  Call qcdiv (qb, qa, r32, r64, cm2Mm_r128)
Case ("m")
  Equivalence :: (m2Mm_r32, r32), (m2Mm_r64, r64)
  Call qcdiv (qb, qa, r32, r64, m2Mm_r128)
Case ("Km")
  Equivalence :: (Km2Mm_r32, r32), (Km2Mm_r64, r64)
  Call qcdiv (qb, qa, r32, r64, Km2Mm_r128)
End Select
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 21:38:21

等效语句必须放在声明部分中。你不能用条件来控制它。

现代的Fortran更喜欢transfer()来转换位模式。如果不需要类型转换,请使用指针。

实际上,我在代码的一个地方使用了等价性,其中Intel编译器无法优化transfer(),但这是一个例外,在使用它之前,您应该三思而后行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28997200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档