| Herman D. Knoble 2005-05-27, 4:01 pm |
| Damien: For work like this an example (using a module) may help:
http://ftp.cac.psu.edu/pub/ger/fort...thConstants.f95
Skip Knoble
On Fri, 27 May 2005 12:18:05 +0200, Damien MATTEI <donotreply@unice.fr> wrote:
-|i have this error when porting a Fortran program from tru 64 to Linux:
-|
-|[dma@alhena SIMECAFLD]$ make
-|f77 long_onde.F -o long_onde.o -c -Wall
-|long_onde.F: In subroutine `long_onde':
-|long_onde.F:423: warning:
-| radrad=dacosd(z/rayray) +i
-| ^
-|Reference to unimplemented intrinsic `DACOSD' at (^) (assumed EXTERNAL)
-|long_onde.F:423:
-| radrad=dacosd(z/rayray) +i
-| ^
-|Invalid declaration of or reference to symbol `dacosd' at (^) [initially
-|seen at (^)]
-|make: *** [long_onde.o] Error 1
-|
-|i assume this due to dacosd not yet implemented under gcc
-|(see http://gcc.gnu.org/onlinedocs/gcc-3...-Intrinsic.html)
-|
-|does anyone have an implementation of the function DACOSD ?
-|
-|in a way as simple as dsind and dcosd can be implemented:
-|
-|* ****************************************
*************************
-| real*8 FUNCTION DSIND( angle )
-|* ****************************************
*************************
-| implicit none
-| real*8 angle
-| real*8 pi
-|
-| if( angle .eq. 180.0 ) then
-| dsind = 0.
-| else
-| pi=acos(0.)*2
-| dsind = dsin( angle * pi / 180.0 )
-| endif
-| return
-| end
-|
-|* ****************************************
*************************
-| real*8 FUNCTION DCOSD( angle )
-|* ****************************************
*************************
-| implicit none
-| real*8 angle
-| real*8 pi
-|
-| if( angle .eq. 90.0 ) then
-| dcosd = 0.
-| else if( angle .eq. 270.0 ) then
-| dcosd = 0.
-| else
-| pi=acos(0.)*2
-| dcosd = dcos( angle * pi / 180.0 )
-| endif
-| return
-| end
-|
-|any help greatly appreciated
-|
-|Damien
|