cmplx(x [, [, kind]]): Convert to Complex¶
Conversion to complex type.
Declaration¶
Sintaxe¶
retval = cmplx(x, y)
#define CMPLX(x, y)
cmplx(x, y)
is one of the intrinsic present in ASR.
Argumentos¶
x
the input value must be of integer, real, or complex.
y
the optional input value must be of type integer or real. It should be only
present in case x
is not complex.
kind
the optional input value of integer expression type for initialisation
indicating the kind parameter of the result.
Valores de retorno¶
The return value is of complex type, with a kind defined by input kind
type
specified. If the kind
is not specified, the return value is of default kind
complex
type.
Descrição¶
cmplx(x, [, y [, kind]]) converts the input value to complex representation:
x
to real component of complex number.
if y
is present, it is converted to the imaginary component.
If y
is not present, the imaginary component is set to 0.0.
If x
is complex then y
must not be present.
For x
complex input value, the result is calculated using mathematical formula:
\(x + iy\)
\(i\) the imaginary part is the result.
Tipos¶
Supported argument types are integer, real, or complex.
#define _Imaginary_I (I)
#define CMPLX(x, y) ((double complex)((double)(x) + _Imaginary_I * (double)(y)))
#define CMPLXF(x, y) ((float complex)((float)(x) + _Imaginary_I * (float)(y)))
#define CMPLXL(x, y) ((long double complex)((long double)(x) + \
_Imaginary_I * (long double)(y)))
Exemplos¶
program intrinsics_cmplx
implicit none
print *, cmplx(1.0, -3.0)
end program
Resultado:
1 - 3i