View previous topic :: View next topic |
Author |
Message |
Kite
Joined: 12 May 2008 Posts: 3
|
Posted: Wed May 14, 2008 6:57 pm Post subject: USE MSIMSLMD |
|
|
I have old program written in f77, in which they are using "USE MSIMSLMD". I`m just starting to program with f95, so it`s might seem stupid question, but it isn`t for me:) what should I do? I know it`s a standard module for f77, but f95 doesn`t recognize it.
thanks |
|
Back to top |
|
|
Andrew
Joined: 09 Sep 2004 Posts: 232 Location: Frankfurt, Germany
|
Posted: Thu May 15, 2008 10:18 am Post subject: |
|
|
You need to have either the source for the module, or the .MOD file created by FTN95. .MOD files are not portable between compilers so if this is your first time out with FTN95 you will need the source. There are no standard modules for Fortran, different vendors may ship modules with their compilers (we put out modules for some of our stuff), but they are not compatible with other compilers. |
|
Back to top |
|
|
Kite
Joined: 12 May 2008 Posts: 3
|
Posted: Thu May 15, 2008 12:06 pm Post subject: |
|
|
in my program i have real*8 x and
fderf=derfc(x)
that`s it.
this is the only function that i need from thet module, so... maybe i can replace it with something else?
interface
double precision function derfc (x)
double precision x
end function
end interface
what does this do? do i understand corerct, that this actually does nothing:))
Last edited by Kite on Thu May 15, 2008 12:18 pm; edited 1 time in total |
|
Back to top |
|
|
Andrew
Joined: 09 Sep 2004 Posts: 232 Location: Frankfurt, Germany
|
Posted: Thu May 15, 2008 12:13 pm Post subject: |
|
|
This is an interface defintion, not the implementation. It enables the compiler to know how to call a function at compile time. It will be worth you looking into the Fortran standard for this sort of thing, the help file provides a brief description of INTERFACE, but if you are new to Fortran then you may need to find some other resources. |
|
Back to top |
|
|
Kite
Joined: 12 May 2008 Posts: 3
|
Posted: Thu May 15, 2008 12:22 pm Post subject: |
|
|
http://student.fsid.cvut.cz/~kubicekm/skola/x2/Fortran/INCLUDE/
this is where i found that source code for my module,if i knew what tfis funcion does, i could rewrite it or something... i tryed to compile f90 files with f95 comiler, but it doesnt recognize it:/
now i`m actually do not know that to do:( |
|
Back to top |
|
|
LitusSaxonicum
Joined: 23 Aug 2005 Posts: 2390 Location: Yateley, Hants, UK
|
Posted: Thu May 15, 2008 5:32 pm Post subject: |
|
|
It looks to me as though the function you are using computes the complementary error function (erfc) for a parameter x, where both x and the returned value for the function are in double precision (equivalent to real*8 as far as FTN95 is concerned).
Neither the complementary error function nor the ordinary error function are standard routines in any version of fortran. Indeed, if you need erf or erfc, you are almost certainly operating in the higher realms of mathematics, and outside the realms of mere mortals.
You have two choices if you want to use these functions: program it yourself (this includes typing in code from a textbook), or buy a library that provides the numerical function and which is compatible with your compiler.
I had a look at the source you gave, and it appears to be a set of files relating to Microsoft PowerStation Fortran v4, which is an obsolete and no longer supported product. There may well be a copy of a numerical library included under license by Microsoft in that system.
I followed the hints in your post, and Visual Numerics (www.vni.com) the firm that produced the library with "derfc" in it) is still in business.
Eddie |
|
Back to top |
|
|
|