找回密码
 注册
Simdroid-非首页
查看: 166|回复: 3

[2. C/C++/C#] 如何在VC中使用IMSL库

[复制链接]
发表于 2010-2-25 18:17:35 | 显示全部楼层 |阅读模式 来自 山东淄博
IMSL数学库是目前最优秀的数学库之一,想把它封装到Forcal中,以脚本的方式调用IMSL库函数,实现IMSL的全部功能。估计,Forcal与IMSL的结合,运行效率约为Fortran/C/C++调用IMSL库的1/3左右,但这些效率的损失可换来极佳的使用性能。
    Forcal库函数主要是用VC添加的,该如何在VC中使用IMSL库?

    1、使用IMSL Fortran :传递多维数组时需要进行转换。
    2、使用The IMSL C Numerical Library (CNL) :不知CNL是否完全实现了IMSL的全部功能。
    3、从哪里下载IMSL库?如何使用它?最好有中文说明。

    希望大家指点一下。

    欢迎访问:http://www.forcal.net/
 楼主| 发表于 2010-3-9 11:51:14 | 显示全部楼层 来自 山东淄博
Simdroid开发平台
查了一些IMSL 的资料,好像最新版本的IMSL ,vni公司都加入了FlexLM使用许可管理,非注册用户用起来不太方便了。老的IMSL ,如CVF 6.X中的IMSL ,似乎还是可以用的?

还有一个问题:cnl最新版本为7.0,而Fortran版本的fnl仍为6.0,是不是说明vni公司更加重视C版本的IMSL开发了? cnl 7是不是比fnl 6有更多新的算法?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-3-14 12:53:55 | 显示全部楼层 来自 山东淄博
在封装IMSL的库函数MOLCH(或M2LCH)时有几个问题要请教大家:

1、第一次调用函数MOLCH时,置IDO=1,以后该函数自动置IDO=2,仅需在最后一次调用时置IDO=3。如果某次调用函数MOLCH时,FCNUT、 FCNBC、NX 或 NPDES等发生了变化,仍然遵循以上规则吗?如果不遵循,应该怎么办?

2、在使用函数M2LCH时,自己提供了工作空间,那么参数IDO起什么作用?是不是可以取任意值?因为IDO是负责申请或消耗空间的参数,若自己提供了工作空间,该参数是不是没有用了?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-3-15 19:14:32 | 显示全部楼层 来自 山东淄博
已封装了IMSL库中的函数DERIV、FPS2H、FPS3H、MOLCH,其他函数都能正常工作,但MOLCH仍存在一些问题没有解决,望朋友们帮忙。
参考:http://www.forcal.net/sysm/forcal9/fchtm/fcimsl.htm
下载演示程序:http://www.forcal.net/xiazai/forcal9/openfc32w.rar
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 09:28 , Processed in 0.034125 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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