cost 213 ms
Fortran是否可以在逻辑运算中强制遵守arguments的顺序? - Can Fortran be forced to abide by the order of arguments in a logical operation?

我正在遍历索引,我正在检查我是否不在第一个循环交互和另一个条件中。 如果第一个条件为.False. . 显然,在这种情况下,如果第一个条件为假,则评估第二个条件将导致索引错误。 因为如果i = 0那么var(i-1)将低于下限。 如果第一个条件已经为.False. ? 有没有办法在不创建第二个 ...

2023-02-01 15:20:19   3   102    fortran  
Fortran 具有可分配项的派生类型参数 - Fortran derived-type parameter with allocatables

我有一个带指针(或可分配)组件的派生类型 我想创建一个参数,例如将其作为 intent(in) 传递给子程序: 目前,GNU Fortran (Spack GCC) 9.4.0 对我来说可以很好地编译类似的代码,但是引入参数会在使用当前模块的另一个模块中触发许多奇怪的错误。 using 模块具有该 ...

C++ 和 Fortran 之间的共享数据结构:添加可分配的 arrays - Shared data structure between C++ and Fortran: adding allocatable arrays

这是对我之前的帖子的扩展,通过映射相同的数据结构将字符和双精度从 C++ 传递到 Fortran。 它添加了一个可分配数组。 由于这不是互操作,我必须在 Fortran 端创建两个结构,一个映射到 C++ 结构(互操作),另一个包含可分配数组。 然后我分配内部数组“var”并使用此处推荐的技术从外 ...

组合字符串和整数以生成变量格式:格式中缺少初始左括号 (Fortran) - Combining strings and integers to make a variable format: Missing initial left parenthesis in format (Fortran)

我想为我的“写”语句制作一个可变格式。 为此,我写了一个小程序(nvari 是变量): 第一个问题:可以看出 fmt2 与 fmt 相似,因为两者都有“(X,Y)”。 但是,虽然代码的第一部分正确执行,但对于第二部分,我有错误: 我不明白缺少哪个括号,因为 fmt2 类似于 fmt。 要执行我的程 ...

2023-01-25 18:14:30   1   36    fortran  
C++ 和 Fortran CUDA 基本示例之间的 nvprof output 差异 - Difference in nvprof output between a C++ and Fortran CUDA basic example

我在自学CUDA。 我的最终目标是将它应用到 Fortran,但是因为很多课程/视频都是基于 C/C++ 的,所以我经常最终会在两者中执行相同的练习(这是一件好事)。 目前,我正在尝试运行一个基本练习,它在 GPU 上执行 a(i) = b(i) + c(i)。为了完整起见,我发布了两个代码以进行比 ...

尝试在 OpenMP 中为 Fortran 并行化一个循环,以解决圆柱坐标系中的拉普拉斯算子 - Trying to parallelize a loop in OpenMP for Fortran that solves the laplacian in cylindrical coordinates

如果代码不是很好,我深表歉意,我是相当新的。 我有以下代码,我不确定如何通过 OpenMP 使其并行,我尝试将数组 (phi_test) 保留为共享变量,这为我提供了打印点的正确答案,但运行速度慢得多('这是点( 60, 50) = 221.84875522778384') 最后的 6-7 位小数每 ...

在使用 f2py 包装到 Python 的 Fortran 模块中定义常量的问题 - problem with defining constants in a Fortran module which is wrapped into Python using f2py

上面的代码定义了 fortran 个模块,这些模块被另一个模块 photdyn_model 使用,使用语句如 use photdynh。 用 f2py、f2py -c -m photdyn_model.f90 -m photdyn_model 包装模块并导入到 python 后,我收到一条错误消息 ...

在 Fortran 中是否可以在类型绑定过程中在运行时分配过程名称? - Is it possible in Fortran to assign procedure name at run time in a type bound procedure?

我发现了类型绑定过程,并且想知道如何使用它们。 我有按预期工作的代码: 现在我不知道如何在运行时分配 initval 和 writeval,如果它有任何意义的话。 让它们指向 null() 并在主程序中将它们分配为 TP(1)%initval=>othersubroutine。 下面的代码不 ...

fortran(std2003)逻辑型到数值型的转换 - fortran (std2003)conversion of logical to numeric type

我有一些我尝试编译的旧程序。 我得到一个错误 mask_part和npsortie是 LOGICAL 的 arrays。 我使用 gfortran-7,这是我唯一可以使用的编译器版本,因为库是用这个编译器版本编译的。 编译器的参数是 有关如何解决此问题的提示,我将不胜感激。 从文档中我看到它过去是 ...

是否可以优化这些 fortran 循环? - Is it possible to optimize these fortran loops?

这是我的问题:我有一个带有一定数量嵌套循环的 fortran 代码,首先我想知道是否可以优化(重新排列)它们以获得时间增益? 其次我想知道我是否可以使用 OpenMP 来优化它们? 我在 fortran 看过很多关于嵌套 do 循环以及如何优化它们的帖子,但我没有找到适合我的例子。 我还在 for ...

将数组大小作为参数传递给 fortran 中的子例程 - Passing size of array as argument to a subroutine in fortran

我想知道在 fortran 中查询数组大小的开销。旧的 fortran (<f95) 方法是将数组的大小传递给子例程的 arguments: 由于f95的大小为function,所以可以这样做: 如果 asub 被调用一百万次,方法 2 是否性能不佳? 我问是因为我正在处理一个相对较大的代码, ...

fortran中十进制转二进制 - Decimal to binary conversion in fortran

我是 Fortran 的新人,所以我无法真正评估语义错误在哪里。 据我所知,语法没问题,当我构建时,我在“Simply Fortran”中没有看到编译器的任何错误,我没有找到任何用于二进制转换的标准 function,我认为没有任何错误我懂了。 任何人都可以帮我修复代码,以便我可以显示数组的元素和相 ...

将 arrays 传递给 Fortran 中的子例程:假定形状与显式形状 - Passing arrays to subroutines in Fortran: Assumed shape vs explicit shape

将 arrays 传递给程序时,就 (1) 速度和 (2) memory、假设形状或显式形状而言,什么是最好的? 前段时间在这个论坛上提出了一个类似的问题,但不是用这些术语: Passing size as argument VS assuming shape in Fortran procedur ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM