MAGMA  2.3.0 Matrix Algebra for GPU and Multicore Architectures
_lag2_: Converts general matrix between single and double

## Functions

void magmablas_clag2z (magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr SA, magma_int_t ldsa, magmaDoubleComplex_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t *info)
CLAG2Z converts a single-complex matrix, SA, to a double-complex matrix, A. More...

void magmablas_dlag2s (magma_int_t m, magma_int_t n, magmaDouble_const_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t *info)
DLAG2S converts a double-real matrix, A, to a single-real matrix, SA. More...

void magmablas_slag2d (magma_int_t m, magma_int_t n, magmaFloat_const_ptr SA, magma_int_t ldsa, magmaDouble_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t *info)
SLAG2D converts a single-real matrix, SA, to a double-real matrix, A. More...

void magmablas_zlag2c (magma_int_t m, magma_int_t n, magmaDoubleComplex_const_ptr A, magma_int_t lda, magmaFloatComplex_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t *info)
ZLAG2C converts a double-complex matrix, A, to a single-complex matrix, SA. More...

## Function Documentation

 void magmablas_clag2z ( magma_int_t m, magma_int_t n, magmaFloatComplex_const_ptr SA, magma_int_t ldsa, magmaDoubleComplex_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t * info )

CLAG2Z converts a single-complex matrix, SA, to a double-complex matrix, A.

Note that while it is possible to overflow while converting from double to single, it is not possible to overflow when converting from single to double.

Parameters
 [in] m INTEGER The number of lines of the matrix A. M >= 0. [in] n INTEGER The number of columns of the matrix A. N >= 0. [in] SA COMPLEX array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA. [in] ldsa INTEGER The leading dimension of the array SA. LDSA >= max(1,M). [out] A COMPLEX_16 array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A. [in] lda INTEGER The leading dimension of the array A. LDA >= max(1,M). [out] info INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value [in] queue magma_queue_t Queue to execute in.
 void magmablas_dlag2s ( magma_int_t m, magma_int_t n, magmaDouble_const_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t * info )

DLAG2S converts a double-real matrix, A, to a single-real matrix, SA.

RMAX is the overflow for the single-real arithmetic. DLAG2S checks that all the entries of A are between -RMAX and RMAX. If not, the conversion is aborted and a flag is raised.

Parameters
 [in] m INTEGER The number of lines of the matrix A. m >= 0. [in] n INTEGER The number of columns of the matrix A. n >= 0. [in] A DOUBLE PRECISION array, dimension (LDA,n) On entry, the m-by-n coefficient matrix A. [in] lda INTEGER The leading dimension of the array A. LDA >= max(1,m). [out] SA SINGLE PRECISION array, dimension (LDSA,n) On exit, if INFO=0, the m-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified. [in] ldsa INTEGER The leading dimension of the array SA. LDSA >= max(1,m). [out] info INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value = 1: an entry of the matrix A is greater than the SINGLE PRECISION overflow threshold, in this case, the content of SA on exit is unspecified. [in] queue magma_queue_t Queue to execute in.
 void magmablas_slag2d ( magma_int_t m, magma_int_t n, magmaFloat_const_ptr SA, magma_int_t ldsa, magmaDouble_ptr A, magma_int_t lda, magma_queue_t queue, magma_int_t * info )

SLAG2D converts a single-real matrix, SA, to a double-real matrix, A.

Note that while it is possible to overflow while converting from double to single, it is not possible to overflow when converting from single to double.

Parameters
 [in] m INTEGER The number of lines of the matrix A. M >= 0. [in] n INTEGER The number of columns of the matrix A. N >= 0. [in] SA SINGLE PRECISION array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA. [in] ldsa INTEGER The leading dimension of the array SA. LDSA >= max(1,M). [out] A DOUBLE PRECISION array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A. [in] lda INTEGER The leading dimension of the array A. LDA >= max(1,M). [out] info INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value [in] queue magma_queue_t Queue to execute in.
 void magmablas_zlag2c ( magma_int_t m, magma_int_t n, magmaDoubleComplex_const_ptr A, magma_int_t lda, magmaFloatComplex_ptr SA, magma_int_t ldsa, magma_queue_t queue, magma_int_t * info )

ZLAG2C converts a double-complex matrix, A, to a single-complex matrix, SA.

RMAX is the overflow for the single-complex arithmetic. ZLAG2C checks that all the entries of A are between -RMAX and RMAX. If not, the conversion is aborted and a flag is raised.

Parameters
 [in] m INTEGER The number of lines of the matrix A. m >= 0. [in] n INTEGER The number of columns of the matrix A. n >= 0. [in] A COMPLEX_16 array, dimension (LDA,n) On entry, the m-by-n coefficient matrix A. [in] lda INTEGER The leading dimension of the array A. LDA >= max(1,m). [out] SA COMPLEX array, dimension (LDSA,n) On exit, if INFO=0, the m-by-n coefficient matrix SA; if INFO > 0, the content of SA is unspecified. [in] ldsa INTEGER The leading dimension of the array SA. LDSA >= max(1,m). [out] info INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value = 1: an entry of the matrix A is greater than the COMPLEX overflow threshold, in this case, the content of SA on exit is unspecified. [in] queue magma_queue_t Queue to execute in.