Hey
I use Intel Visual Fortran Composer with IMSL libraries and Microsoft Visual studio 10
Here is a piece of my code :
program main
!use imsl_libraries
USE ZANLY_INT
USE WRCRN_INT
INCLUDE 'link_fnl_shared.h'
IMPLICIT NONE
! Declare variables
Real(8) ERRABS,ERRREL
INTEGER INFO(3), NGUESS, NNEW
COMPLEX(8) F1, F2, Z(3), ZINIT(3)
EXTERNAL F1, F2
! Set the guessed zero values in ZINIT
! ZINIT = (1.0+1.0i 1.0+1.0i 1.0+1.0i)
DATA ZINIT/3*(0.52,-0.16)/
! Set values for all input parameters
NNEW = 3
NGUESS = 0
! Find the zeros of F
CALL ZANLY (F2, Z, ERRABS=1.e-8,ERRREL=1.e-8, NNEW=NNEW, NGUESS=NGUESS,ZINIT=ZINIT, ITMAX=100000, INFO=INFO) !
! Print results
!CALL WRCRN ('The zeros of (Z**3 + 5.0*Z**2 + 9.0*Z + 45.0) are', Z)
write(*,*) 'Exemple 1 : The zeros of (Z**3 + 5.0*Z**2 + 9.0*Z + 45.0) are :'
write(*,"(3('('F10.6','F10.6') '))") Z
print *,INFO(1),F2(Z(1)) ! nombre d'ittérations et résultat
write(*,*) '===================================================================='
DATA ZINIT/3*(0.52,-0.16)/
NNEW = 1
NGUESS = 1
CALL ZANLY (F1, Z, ERRABS=1.e-8,ERRREL=1.e-8, NNEW=NNEW, NGUESS=NGUESS,ZINIT=ZINIT, ITMAX=100000, INFO=INFO) !
! Print results
!CALL WRCRN ('The zeros of (exp(Z)-(3+3i) are', Z)
write(*,*)'Exemple 2 : The zeros of [exp(Z)-(3+3i)] are :'
write(*,"(2('('F10.6','F10.6') '))") Z
print *,INFO(1),F1(Z(1))
stop
END program
! External complex function
COMPLEX (8) FUNCTION F2 (Z)
COMPLEX (8) Z
F2 = Z**3 + 5.0*Z**2 + 9.0*Z + 45.0
RETURN
End
COMPLEX (8) FUNCTION F1 (Z)
COMPLEX (8) Z
F1 = Z**2*cdexp((3.0,3.0)*Z)-(3.0,3.0)
RETURN
END
My problem : this code works with simple precision but when I try to use the routine Zanly with double precision (like in the above code).
I have the following message after compilation:
Error 1 error #6285: There is no matching specific subroutine for this generic subroutine call. [ZANLY]
Zanly seems to be not recognized.
I have try to use several things but without success. Could you give me a solution to this problem.
When I use only simple precision, the code works fine???
Sincerely