草庐IT

python - Fortran - Cython 工作流程

我想设置一个工作流,以便在Windows机器上使用Cython从Python访问fortran例程经过一番搜索,我发现:http://www.fortran90.org/src/best-practices.html#interfacing-with-c和https://stackoverflow.com/tags/fortran-iso-c-binding/info还有一些代码图片:Fortran端:pygfunc.h:voidc_gfunc(doublex,intn,intm,double*a,double*b,double*c);pygfunc.f90modulegfunc1_i

python - Fortran - Cython 工作流程

我想设置一个工作流,以便在Windows机器上使用Cython从Python访问fortran例程经过一番搜索,我发现:http://www.fortran90.org/src/best-practices.html#interfacing-with-c和https://stackoverflow.com/tags/fortran-iso-c-binding/info还有一些代码图片:Fortran端:pygfunc.h:voidc_gfunc(doublex,intn,intm,double*a,double*b,double*c);pygfunc.f90modulegfunc1_i

python - 用python读取二进制文件

我发现用Python读取二进制文件特别困难。你能帮我个忙吗?我需要阅读这个文件,它在Fortran90中很容易被阅读int*4n_particles,n_groupsreal*4group_id(n_particles)read(*)n_particles,n_groupsread(*)(group_id(j),j=1,n_particles)具体来说,文件格式是:Bytes1-4--Theinteger8.Bytes5-8--Thenumberofparticles,N.Bytes9-12--Thenumberofgroups.Bytes13-16--Theinteger8.Byte

python - 用python读取二进制文件

我发现用Python读取二进制文件特别困难。你能帮我个忙吗?我需要阅读这个文件,它在Fortran90中很容易被阅读int*4n_particles,n_groupsreal*4group_id(n_particles)read(*)n_particles,n_groupsread(*)(group_id(j),j=1,n_particles)具体来说,文件格式是:Bytes1-4--Theinteger8.Bytes5-8--Thenumberofparticles,N.Bytes9-12--Thenumberofgroups.Bytes13-16--Theinteger8.Byte

python - numpy 怎么能比我的 Fortran 例程快得多?

我得到一个512^3数组,表示来自模拟的温度分布(用Fortran编写)。该数组存储在一个大小约为1/2G的二进制文件中。我需要知道这个数组的最小值、最大值和平均值,而且我很快就需要理解Fortran代码,所以我决定试一试,并想出了以下非常简单的例程。integergridsize,unit,jrealmini,maxidoubleprecisionmeangridsize=512unit=40open(unit=unit,file='T.out',status='old',access='stream',&form='unformatted',action='read')read(u

python - numpy 怎么能比我的 Fortran 例程快得多?

我得到一个512^3数组,表示来自模拟的温度分布(用Fortran编写)。该数组存储在一个大小约为1/2G的二进制文件中。我需要知道这个数组的最小值、最大值和平均值,而且我很快就需要理解Fortran代码,所以我决定试一试,并想出了以下非常简单的例程。integergridsize,unit,jrealmini,maxidoubleprecisionmeangridsize=512unit=40open(unit=unit,file='T.out',status='old',access='stream',&form='unformatted',action='read')read(u

read语句中的fortran格式字符串

我很难获得格式字符串,以便由Gfortran在OSX下编写的Fortran程序中的读取语句接受。读取语句和字符串构成两行代码,我收到的各种错误消息似乎取决于如何并行使用这两个语句(另外,以防万一,以防万一要读取的数组声明):read(10,format)(velmatt(n,row,i),m=1,3)format="(11x,'x',a3,2x,i8,6x,3f11.6)"这导致错误,Fortranruntimeerror:Missinginitialleftparenthesisinformat我必须补充说,我还尝试了替代格式语句的一些替代语法,并且是读取功能的调用,因为推荐的确切形式似乎有

c++ - 使用 Fortran 调用 C++ 函数

我正在尝试获取一些FORTRAN代码来调用我编写的几个c++函数(c_tabs_是其中之一)。只要我调用不属于某个类的函数,链接和一切工作正常。我的问题是我希望FORTRAN代码调用的函数属于一个类。我使用nm查看了符号表,函数名称是这样丑陋的:00000000T_ZN9Interface7c_tabs_EvFORTRAN不允许我用那个名字调用函数,因为开头有下划线,所以我不知所措。当c_tabs不在类中时,它的符号非常简单,FORTRAN没有问题:00000030Tc_tabs_有什么建议吗?提前致谢。 最佳答案 名称已被破坏,这

c++ - GNU Fortran 和 C 互操作性

我有一个大型的混合C/Fortran代码库,目前使用英特尔工具在Windows上编译。我被要求将它移植到Linux上的GNU工具。或多或少是随机的,我选择了4.8版。如果从Fortran调用C函数,互操作性通常如下所示://Ccode:voidPRINTSTR(char*str,size_tlen){for(intii=0;ii英特尔Fortran编译器始终生成大写符号,因此可以正常工作。但是GNUFortran编译器总是生成小写符号,因此存在链接器错误。GNUFortran编译器过去有一个名为-fcase-upper的选项,它可以生成大写符号,但似乎这对每个人来说都太可配置了,它已被

如何将CMAKE用于Fortran和C ++?

我是Cmake的新手,似乎很难获得我的脚本工作。我的代码可以以通常的方式编译,但我确实需要使用CMAKE。我编译以下内容:g++vectc.cpp-c-std=c++11gfortranvectf.fvectc.o-lstdc++这个cmakelists.txt,这对我不起作用:cmake_minimum_required(VERSION2.6)project(add_vectorsCXXFortran)enable_language(Fortran)set(CMAKE_CXX_FLAGS"-c-std=c++11")set(CMAKE_Fortran_FLAGS"CMakeFiles/exe