[Wien] the use of ! in the code of lapw1

Robert Laskowski rolask at theochem.tuwien.ac.at
Tue Feb 10 10:34:03 CET 2009


hi,
All !_COMPLEX or !_REAL are used to preprocess the real or complex version of the code,
and it is like home made preprocressing. Look at the Makefile. 
At the current state this way is mixed with normal preprocessor flags such like
#ifndef Parallel ... This part of code was present in the early version of the WIEN, when 
the standart preprocessing was not available in fortran.
It simply works, by removing !_REAL from the source code for the real version, and
!_COMPLEX for the complex version, activating proper parts of the source. 

 regards

Robert

On Tuesday 10 February 2009 09:25:29 Wenmei wrote:
> Dear users,
>  
> I am very confused with some code from /SRC/lapw1. 
> In the file of seclr4.F, there is code like the following
> ==============================================
> #ifndef Parallel
> !_COMPLEX       DO J = 1, NVAA+NLO
> !_COMPLEX         DO I = 1, NVAA+NLO
> !_COMPLEX          HS(I,J) = DCONJG(HS(I,J))
> !_COMPLEX        END DO
> !_COMPLEX        HSDIAG(J) = DCONJG(HSDIAG(J))
> !_COMPLEX       END DO
> #endif
> ===============================================
> Also, there is code in the file as:
> ===============================================
> #ifdef Parallel
>       if(deschs(2).gt.0) then
> !_REAL      CALL PDPOTRF('U',NVAA+NLO,S,1,1,DESCHS,INFO)
> !_COMPLEX      CALL PZPOTRF('U',NVAA+NLO,S,1,1,DESCHS,INFO)
>       end if
> #else
> !_REAL      CALL DPOTRF('U',NVAA+NLO,HS,HSROWS,INFO)
> !_COMPLEX      CALL ZPOTRF('U',NVAA+NLO,HS,HSROWS,INFO)
> #endif
> ========================================================
> In Fortran, ! comments the content of the line it stands
> However, here the ! in !_COMPLEX-like seems not to comment the code in the corresponding line
>  
>  
> Any suggestion is appreciated
> Thanks
>  
> Wenmei Ming
>  
> 
> 
> 
>       ___________________________________________________________ 
>   好玩贺卡等你发,邮箱贺卡全新上线! 
> http://card.mail.cn.yahoo.com/



-- 
Dr Robert Laskowski

Vienna University of Technology, 
Institute of Materials Chemistry, 
Getreidemarkt 9/165-TC, A-1060 Vienna

tel. +43 1 58801 15686
Fax  +43 1 58801 15698


More information about the Wien mailing list