LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ 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 87 of file xerbla_array.f.

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