DCMPLX(X [,Y]) returns a double complex number where X is converted to the real component. If Y is present it is converted to the imaginary component. If Y is not present then the imaginary component is set to 0.0. If X is complex then Y must not be present. 
GNU extension
Elemental function
RESULT = DCMPLX(X [, Y]) 
| X | The type may be INTEGER,REAL, orCOMPLEX. | 
| Y | (Optional if X is not COMPLEX.) May beINTEGERorREAL. | 
The return value is of type COMPLEX(8) 
program test_dcmplx
    integer :: i = 42
    real :: x = 3.14
    complex :: z
    z = cmplx(i, x)
    print *, dcmplx(i)
    print *, dcmplx(x)
    print *, dcmplx(z)
    print *, dcmplx(x,i)
end program test_dcmplx
    © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
    https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gfortran/DCMPLX.html