CMPLX (The GNU Fortran Compiler)

### 8.67 `CMPLX` — Complex conversion function ¶

Synopsis:

  `RESULT = CMPLX(X [, Y [, KIND]])`

Description:

  `CMPLX(X [, Y [, KIND]])` returns a 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.

Class:

  Elemental function

Arguments:

  X | The type may be `INTEGER`, `REAL`, `COMPLEX` or `UNSIGNED`.
  Y | (Optional; only allowed if X is not `COMPLEX`.) May be `INTEGER`, `REAL` or `UNSIGNED`.
  KIND | (Optional) A scalar `INTEGER` constant expression indicating the kind parameter of the result.

Return value:

  The return value is of `COMPLEX` type, with a kind equal to KIND if it is specified. If KIND is not specified, the result is of the default `COMPLEX` kind, regardless of the kinds of X and Y.

Example:

      program test_cmplx
          integer :: i = 42
          real :: x = 3.14
          complex :: z
          z = cmplx(i, x)
          print *, z, cmplx(x)
      end program test_cmplx

Standard:

  Fortran 77 and later, extension for `UNSIGNED` (see Unsigned integers)

See also:

  `COMPLEX` — Complex conversion function