Fortran Coder

查看: 9786|回复: 9
打印 上一主题 下一主题

[数学库] fortran-IMSL 90格式调用问题

[复制链接]

8

帖子

2

主题

0

精华

入门

F 币
97 元
贡献
48 点
跳转到指定楼层
楼主
发表于 2015-8-31 14:59:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我现在在用Intel Parallel Studio XE 2013+VS2010+IMSL7.0。但是在使用时发现调用IMSL函数库时只能利用F77格式调用,不能用90格式应用,这个是怎么回事。
调用时用的是:
include 'link_fnl_shared.h'
use numerical_libraries


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2015-8-31 19:08:36 | 只看该作者
最好给出你的代码(尽量简短,删除不必要的内容),及错误提示(原文,英文,不翻译)

8

帖子

2

主题

0

精华

入门

F 币
97 元
贡献
48 点
板凳
 楼主| 发表于 2015-9-1 14:59:27 | 只看该作者
代码如下:
[Fortran] 纯文本查看 复制代码
program main
    use numerical_libraries
    include 'link_fnl_shared.h'
    implicit none
    integer,parameter::DP=4
    real(kind=DP)::A(3,3)=(/1,3,2, &
                            1,2,1,&
                            2,1,3 /)
    real(kind=DP)::B(3,1)=(/4,6,6/)
    real(kind=DP)::X(3,1)
    
    x= A .x. B
    write(*,*)x
end

错误提示如下:
error #6866: Dotted string neither a defined operator nor a structure component   [X]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2015-9-1 15:04:27 | 只看该作者
use linear_operators

8

帖子

2

主题

0

精华

入门

F 币
97 元
贡献
48 点
5#
 楼主| 发表于 2015-9-1 17:07:52 | 只看该作者
还是错的
[Fortran] 纯文本查看 复制代码
program main
    use linear_operators
    include 'link_fnl_shared.h'
    implicit none
    integer,parameter::DP=4
    real(kind=DP)::A(3,3)=(/1,3,2, &
                            1,2,1,&
                            2,1,3 /)
    real(kind=DP)::B(3,1)=(/4,6,6/)
    real(kind=DP)::X(3,1)
    
    x= A .x. B
    write(*,*)x
end

错误提示是
internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
1>    x= A .x. B
1>^
1>[ Aborting due to internal error. ]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2015-9-1 17:18:37 | 只看该作者
这就属于IMSL和ivf的配置问题了。检查一下IMSL的版本(32位?64位)与IVF的版本(32位?64位),是否匹配?是否选择了合适位数的工程配置?


QQ截图20150901172026.jpg (159.29 KB, 下载次数: 0)

QQ截图20150901172026.jpg

8

帖子

2

主题

0

精华

入门

F 币
97 元
贡献
48 点
7#
 楼主| 发表于 2015-9-1 18:19:47 | 只看该作者
你用的什么版本的intel fortran, VS 以及IMSL,  我刚刚看了下IMSL的说明文件,上边说只支持IVF11.1+VS2005/2008,   会不会是因为版本的问题

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

8#
发表于 2015-9-1 19:29:56 | 只看该作者
我说的版本,主要指32还是64位

8

帖子

2

主题

0

精华

入门

F 币
97 元
贡献
48 点
9#
 楼主| 发表于 2015-9-2 15:13:45 | 只看该作者
fcode 发表于 2015-9-1 19:29
我说的版本,主要指32还是64位

我知道是32还是64的意思   我试过了  其他的都可以调用,比如一下的程序
[Fortran] 纯文本查看 复制代码
program main
    !use linear_operators
    use Lin_sol_gen_int
    include 'link_fnl_shared.h'
    implicit none
    integer,parameter::DP=4
    real(kind=DP)::A(3,3)=(/1,3,2, &
                            1,2,1,&
                            2,1,3 /)
    real(kind=DP)::B(3,1)=(/4,6,6/)
    real(kind=DP)::x(3,1)
    
    !x= A .x. B
    call lin_sol_gen(a,b,x)
    write(*,*)x
end

就可以运行,但是还是无法使用符号运算,只要程序加上use linear_operators就会出错

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

10#
发表于 2015-9-2 15:25:04 | 只看该作者
so,你的无法运行,但别人可以,一样的代码,一样的版本,一样的设置,而且不用操作符就可以,这个问题恐怕需要 intel 公司来回答
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-2 23:27

Powered by Tencent X3.4

© 2013-2024 Tencent

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