LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ xerbla_array()

subroutine xerbla_array ( character(1), dimension(srname_len)  SRNAME_ARRAY,
integer  SRNAME_LEN,
integer  INFO 
)

XERBLA_ARRAY

Download XERBLA_ARRAY + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK
 and BLAS error handler.  Rather than taking a Fortran string argument
 as the function's name, XERBLA_ARRAY takes an array of single
 characters along with the array's length.  XERBLA_ARRAY then copies
 up to 32 characters of that array into a Fortran string and passes
 that to XERBLA.  If called with a non-positive SRNAME_LEN,
 XERBLA_ARRAY will call XERBLA with a string of all blank characters.

 Say some macro or other device makes XERBLA_ARRAY available to C99
 by a name lapack_xerbla and with a common Fortran calling convention.
 Then a C99 program could invoke XERBLA via:
    {
      int flen = strlen(__func__);
      lapack_xerbla(__func__, &flen, &info);
    }

 Providing XERBLA_ARRAY is not necessary for intercepting LAPACK
 errors.  XERBLA_ARRAY calls XERBLA.
Parameters
[in]SRNAME_ARRAY
          SRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN)
          The name of the routine which called XERBLA_ARRAY.
[in]SRNAME_LEN
          SRNAME_LEN is INTEGER
          The length of the name in SRNAME_ARRAY.
[in]INFO
          INFO is INTEGER
          The position of the invalid parameter in the parameter list
          of the calling routine.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 89 of file xerbla_array.f.

90 *
91 * -- LAPACK auxiliary routine --
92 * -- LAPACK is a software package provided by Univ. of Tennessee, --
93 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
94 *
95 * .. Scalar Arguments ..
96  INTEGER SRNAME_LEN, INFO
97 * ..
98 * .. Array Arguments ..
99  CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
100 * ..
101 *
102 * =====================================================================
103 *
104 * ..
105 * .. Local Scalars ..
106  INTEGER I
107 * ..
108 * .. Local Arrays ..
109  CHARACTER*32 SRNAME
110 * ..
111 * .. Intrinsic Functions ..
112  INTRINSIC min, len
113 * ..
114 * .. External Functions ..
115  EXTERNAL xerbla
116 * ..
117 * .. Executable Statements ..
118  srname = ''
119  DO i = 1, min( srname_len, len( srname ) )
120  srname( i:i ) = srname_array( i )
121  END DO
122 
123  CALL xerbla( srname, info )
124 
125  RETURN
subroutine xerbla(SRNAME, INFO)
XERBLA
Definition: xerbla.f:60
Here is the call graph for this function: