MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
_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...
 

Detailed Description

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]mINTEGER The number of lines of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]SACOMPLEX array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,M).
[out]ACOMPLEX_16 array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,M).
[out]infoINTEGER
  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
[in]queuemagma_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 magma_dlag2s_flag is raised.

Parameters
[in]mINTEGER The number of lines of the matrix A. m >= 0.
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ADOUBLE PRECISION array, dimension (LDA,n) On entry, the m-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,m).
[out]SASINGLE 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]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,m).
[out]infoINTEGER
  • = 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]queuemagma_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]mINTEGER The number of lines of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]SASINGLE PRECISION array, dimension (LDSA,N) On entry, the M-by-N coefficient matrix SA.
[in]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,M).
[out]ADOUBLE PRECISION array, dimension (LDA,N) On exit, the M-by-N coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,M).
[out]infoINTEGER
  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
[in]queuemagma_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 magma_zlag2c_flag is raised.

Parameters
[in]mINTEGER The number of lines of the matrix A. m >= 0.
[in]nINTEGER The number of columns of the matrix A. n >= 0.
[in]ACOMPLEX_16 array, dimension (LDA,n) On entry, the m-by-n coefficient matrix A.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,m).
[out]SACOMPLEX 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]ldsaINTEGER The leading dimension of the array SA. LDSA >= max(1,m).
[out]infoINTEGER
  • = 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]queuemagma_queue_t Queue to execute in.