- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I just installed version 11.1 with IMSL subroutines.
I have used the IMSL subroutines in older version of Intel Visual Fortran by including the line
use msimsl
How do I access the IMSL subroutines from the 11.1 version?
thanks,
Paul
I just installed version 11.1 with IMSL subroutines.
I have used the IMSL subroutines in older version of Intel Visual Fortran by including the line
use msimsl
How do I access the IMSL subroutines from the 11.1 version?
thanks,
Paul
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Paul,
Just replace the directive "use msimsl" by "use numerical_libraries". You will also need probably to add the path to imsl include directory in your fortran project settings as well to add the libraries to use in the linker settings.
regards,
Phil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi paul. You should consider see this article that explain how to install, configure and use the IMSL Fortran Numerical Library. I provide the link below. I think in that link you will find everything that you need. Note that you should add INCLUDE 'link_fnl_static.h' to your program if your doing a static link or INCLUDE 'link_fnl_shared.h' if your doing a dynamic link. Your should use it only one time in your code. Then in the subroutine that you use a specific IMSL function you should add a USE statement. See the example:
Note that you should always use the generic name GVCRG not d_GVCRG. Depending on the variable declaration the interface will call the appropriate function. I should also refer that the example I gave doesn't work, unless you specifie the values for k, A and B. As I said earlier see the article in the following link:
http://software.intel.com/en-us/articles/installing-and-using-the-imsl-libraries/
Regards,
Pedro
[fortran]program test INCLUDE 'link_fnl_static.h' !If static linking !INCLUDE 'link_fnl_shared.h' !If dynamic linking implicit none integer, parameter :: k
real(8) :: A(k,k),B(k,k) real(8) :: beta(k) complex(8) :: EVAL(k),EVEC(k,k) Call imsl_test(k,A,B,beta,EVAL,EVEC) end program test subroutine imsl_test(k,A,B,beta,EVAL,EVEC) USE GVCRG_INT implict none integer, intent(in) :: k real(8), intent(in) :: A(k,k),B(k,k) real(8),intent(out) :: beta(k) complex(8),intent(out) :: EVAL(k),EVEC(k,k) CALL GVCRG (A,B,EVAL,BETA,EVEC) !Use generic name end subroutine imsl_test[/fortran]
Note that you should always use the generic name GVCRG not d_GVCRG. Depending on the variable declaration the interface will call the appropriate function. I should also refer that the example I gave doesn't work, unless you specifie the values for k, A and B. As I said earlier see the article in the following link:
http://software.intel.com/en-us/articles/installing-and-using-the-imsl-libraries/
Regards,
Pedro

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page