(for what is not a bug but a feature of standard f95: no allocatable arrays
in derived types); GWW made gfortran-compatible (#endif something is also
not standard ; removed unused allocate_bec and deallocate_bec; make.depend,
configure, doc updated
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5970 c92efa57-630b-4861-b058-cf58834340f0
1) no more f_defs.h file to be included in fortran files
2) all CMPLX explicitly defined as CMPLX(...,KIND=dp)
3) blas/lapack names in lowercase (not all of them, actually)
4) documentation accordingly updated (plus unrelated changes to user_guide)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5805 c92efa57-630b-4861-b058-cf58834340f0
- workaround for gfortran (it is sort of working)
- single precision constants promoted to double precision
- dfloat-> DBLE
- DIMAG ->AIMAG
- DCMPLX->CMPLX
Note that ALL calls to dfloat, dimag, dcmplx have been added recently,
since I removed all of them no more than a few months ago
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3586 c92efa57-630b-4861-b058-cf58834340f0
The include file for C routines is generated by configure,
in a way that should be very general and robust. Beware:
you need to re-run configure to regenerate include/c_defs.h
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3423 c92efa57-630b-4861-b058-cf58834340f0
F77_FUNC and F77_FUNC_ preprocessor macro . It is easy now to select the
good functions with "configure" (it is still done with -D flags though)
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3416 c92efa57-630b-4861-b058-cf58834340f0
It had gone unnoticed for a long time, but the recent changes
made its presence noticeable via a rather obscure failure.
C_POINTER is defined integer*N instead of integer(kind=N).
The former definition is obsolescent but always valid, while the latter
may fail for compilers (ex. NAG) not using the length in bytes as kind
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3413 c92efa57-630b-4861-b058-cf58834340f0
recognize the correct length of fortran integer variables containing
C pointers, writing it into file include/fft_defs.h . Side effects
not unlikely, please check and correct if you can (and dare to).
Version number moved to 3.2cvs
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3407 c92efa57-630b-4861-b058-cf58834340f0
- elapsed_seconds substituted by cclock
- fortran version of scnds substituted by c version.
now time information is taken only through:
cclock for the real wall clock time
scnds for cpu time of the running process
defined in file clib/cptimer.c
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3400 c92efa57-630b-4861-b058-cf58834340f0
re-aligned configure and configure.ac
fixed minor format glitches signaled by g95
added __XLF preprocessing option
updated documentation and Make.*, removed obsolete Make.ibm*
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3374 c92efa57-630b-4861-b058-cf58834340f0
Preprocessing flag -D__FFTMKL8 must be used (configure hasn't been
configured for this case). Whoever has access to MKL v.8 is invited
to try and to report if it works better than FFTW. Note from the author:
"it requires a minor bug correction in the MKL. It has been submitted
to Intel and will be integrated in their next release."
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@3203 c92efa57-630b-4861-b058-cf58834340f0
- Changed format when writing a copy of the UPF file: for some reason
the free format adds an initial blank character, causing the program
to fail when reading (in fixed format) additional info for spin-orbit.
Format A is now used when writing, free format when reading. (AdC)
- More preprocessing cleanup and documentation: anybody having access
to weird machines is kindly requested to verify if things work
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2732 c92efa57-630b-4861-b058-cf58834340f0
conversion to real => DBLE
(including real part of a complex number)
conversion to complex => CMPLX
complex conjugate => CONJG
imaginary part => AIMAG
All functions are uppercase.
CMPLX is preprocessed by f_defs.h and performs an explicit cast:
#define CMPLX(a,b) cmplx(a,b,kind=DP)
This implies that 1) f_defs.h must be included whenever a CMPLX is present,
2) CMPLX should stay in a single line, 3) DP must be defined.
All occurrences of real, float, dreal, dfloat, dconjg, dimag, dcmplx
removed - please do not reintroduce any of them.
Tested only with ifc7 and g95 - beware unintended side effects
Maybe not the best solution (explicit casts everywhere would be better)
but it can be easily changed with a script if the need arises.
The following code might be used to test for possible trouble:
program test_intrinsic
implicit none
integer, parameter :: dp = selected_real_kind(14,200)
real (kind=dp) :: a = 0.123456789012345_dp
real (kind=dp) :: b = 0.987654321098765_dp
complex (kind=dp) :: c = ( 0.123456789012345_dp, 0.987654321098765_dp)
print *, ' A = ', a
print *, ' DBLE(A)= ', DBLE(a)
print *, ' C = ', c
print *, 'CONJG(C)= ', CONJG(c)
print *, 'DBLE(c),AIMAG(C) = ', DBLE(c), AIMAG(c)
print *, 'CMPLX(A,B,kind=dp)= ', CMPLX( a, b, kind=dp)
end program test_intrinsic
Note that CMPLX and REAL without a cast yield single precision numbers on
ifc7 and g95 !!!
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2133 c92efa57-630b-4861-b058-cf58834340f0
TO BE CHECKED!!
- iotk_multitype_integer splitted into two files to
workaround compiler problem (IBM xlf) with small simbol stack
- new module with SIC variables
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@1712 c92efa57-630b-4861-b058-cf58834340f0