wanglu 发表于 2010-2-25 18:17:35

如何在VC中使用IMSL库

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/

wanglu 发表于 2010-3-9 11:51:14

查了一些IMSL 的资料,好像最新版本的IMSL ,vni公司都加入了FlexLM使用许可管理,非注册用户用起来不太方便了。老的IMSL ,如CVF 6.X中的IMSL ,似乎还是可以用的?

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

wanglu 发表于 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是负责申请或消耗空间的参数,若自己提供了工作空间,该参数是不是没有用了?

wanglu 发表于 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
页: [1]
查看完整版本: 如何在VC中使用IMSL库