Each complex type pairs a real and imaginary part of the underlying scalar type. Storage width is twice the scalar width. va.cint8, va.cint16, va.cint32, va.cint64, va.cuint8, va.cuint16, va.cuint32, va.cuint64, va.cfloat, va.cdouble, va.chalf, va.cbfloat16. Conversion between complex and non-complex types is not supported. Extract real / imaginary parts with np.real() / np.imag() instead.