_lat2_#

Functions

void dlat2s(
    const char*           uplo,
    const INT             n,
    const f64*   restrict A,
    const INT             lda,
          float* restrict SA,
    const INT             ldsa,
          INT*            info
);
void dlat2s(const char *uplo, const INT n, const f64 *restrict A, const INT lda, float *restrict SA, const INT ldsa, INT *info)#

DLAT2S converts a DOUBLE PRECISION triangular matrix, A, to a SINGLE PRECISION triangular matrix, SA.

RMAX is the overflow for the SINGLE PRECISION arithmetic. DLAT2S checks that all the entries of A are between -RMAX and RMAX. If not the conversion is aborted and a flag is raised.

This is an auxiliary routine so there is no argument checking.

Parameters

in
uplo

Specifies whether the upper or lower triangular part of the symmetric matrix A is stored. = ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

The number of rows and columns of the matrix A. n >= 0.

in
A

Double precision array, dimension (lda, n). On entry, the N-by-N triangular coefficient matrix A.

in
lda

The leading dimension of the array A. lda >= max(1, n).

out
SA

Real (single precision) array, dimension (ldsa, n). Only the UPLO part of SA is referenced. On exit, if info=0, the N-by-N coefficient matrix SA; if info>0, the content of the UPLO part of SA is unspecified.

in
ldsa

The leading dimension of the array SA. ldsa >= max(1, n).

out
info

Exit status:

  • = 0: successful exit.

  • = 1: an entry of the matrix A is greater than the SINGLE PRECISION overflow threshold, in this case, the content of the UPLO part of SA is unspecified.