- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I am trying to use verf in my fortran 90 code. I have followed both the procedures for both IMSL and MKL. I set the library and include directories in Visual Studio and I still can't build my code in VS. The famous error shows up:
error LNK2019: unresolved external symbol _VERF referenced in function _MAIN__
The code is in the following form:
program test
include "mkl_vml.f90"
...
...
call verf(1,a,y)
end program
Then I tried the following to build it:
ifort myfortran.f90 %LINK_FNL_HPC%
but I got the following error:
ifort: command line warning #10161: unrecognized source type '%LINK_FNL_HPC%'; object file assumed
Could someone shed light on this problem?
I am trying to use verf in my fortran 90 code. I have followed both the procedures for both IMSL and MKL. I set the library and include directories in Visual Studio and I still can't build my code in VS. The famous error shows up:
error LNK2019: unresolved external symbol _VERF referenced in function _MAIN__
The code is in the following form:
program test
include "mkl_vml.f90"
...
...
call verf(1,a,y)
end program
Then I tried the following to build it:
ifort myfortran.f90 %LINK_FNL_HPC%
but I got the following error:
ifort: command line warning #10161: unrecognized source type '%LINK_FNL_HPC%'; object file assumed
Could someone shed light on this problem?
Link Copied
10 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The routine name is probably vserf or vderf; these are among the vectorized error functions in MKL.
Unless your code calls IMSL routines, you do not need IMSL. The compiler did not find LINK_FNL_HPC defined in the environment where you ran it. That is one of the variables that is set up by the IMSL batch file, fnlsetup.bat.
Unless your code calls IMSL routines, you do not need IMSL. The compiler did not find LINK_FNL_HPC defined in the environment where you ran it. That is one of the variables that is set up by the IMSL batch file, fnlsetup.bat.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am not writing a code which is optimized for parallel processing. I wanted to calculate error function in a regular way. Is there other library or I have to write my own code to calculate that function?
Thanks a lot.
Thanks a lot.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In that case, just call the intrinsic function ERF(). For just that, you need neither MKL nor IMSL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I cannot find a routine named VERF in either MKL or IMSL. Have you purchased and installed IMSL?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes I purchased and installed Intel Visual Fortran v11.1 + MKL for Win, Aca, ESD. The MKL directory contains:
Thanks.
- benchmarks
- bin
- examples
- include
- interfaces
- lib
- tests
- tools
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ERFC is a Fortran 2008 function and is supported by version 11.1. You can find its description in the Intel compiler Language Reference.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Steve. Does Intel has the PDF version of it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ERFC(x) = 1 - ERF(x)
Do not use one for the other!
Do not use one for the other!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is as far as the mathematical definition is concerned. The raison d'etre for erfc() in F2008
is (at leastthat is how I understand it)that for large arguments computing the one from the other
is very problematic - the error function rapidly approaches 1 and then the above computation is numerically
inaccurate.
Regards,
Arjen
is (at leastthat is how I understand it)that for large arguments computing the one from the other
is very problematic - the error function rapidly approaches 1 and then the above computation is numerically
inaccurate.
Regards,
Arjen

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