LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
xerbla_array.f
Go to the documentation of this file.
1*> \brief \b XERBLA_ARRAY
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8*> Download XERBLA_ARRAY + dependencies
9*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/xerbla_array.f">
10*> [TGZ]</a>
11*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/xerbla_array.f">
12*> [ZIP]</a>
13*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/xerbla_array.f">
14*> [TXT]</a>
15*
16* Definition:
17* ===========
18*
19* SUBROUTINE XERBLA_ARRAY( SRNAME_ARRAY, SRNAME_LEN, INFO)
20*
21* .. Scalar Arguments ..
22* INTEGER SRNAME_LEN, INFO
23* ..
24* .. Array Arguments ..
25* CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
26* ..
27*
28*
29*> \par Purpose:
30* =============
31*>
32*> \verbatim
33*>
34*> XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK
35*> and BLAS error handler. Rather than taking a Fortran string argument
36*> as the function's name, XERBLA_ARRAY takes an array of single
37*> characters along with the array's length. XERBLA_ARRAY then copies
38*> up to 32 characters of that array into a Fortran string and passes
39*> that to XERBLA. If called with a non-positive SRNAME_LEN,
40*> XERBLA_ARRAY will call XERBLA with a string of all blank characters.
41*>
42*> Say some macro or other device makes XERBLA_ARRAY available to C99
43*> by a name lapack_xerbla and with a common Fortran calling convention.
44*> Then a C99 program could invoke XERBLA via:
45*> {
46*> int flen = strlen(__func__);
47*> lapack_xerbla(__func__, &flen, &info);
48*> }
49*>
50*> Providing XERBLA_ARRAY is not necessary for intercepting LAPACK
51*> errors. XERBLA_ARRAY calls XERBLA.
52*> \endverbatim
53*
54* Arguments:
55* ==========
56*
57*> \param[in] SRNAME_ARRAY
58*> \verbatim
59*> SRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN)
60*> The name of the routine which called XERBLA_ARRAY.
61*> \endverbatim
62*>
63*> \param[in] SRNAME_LEN
64*> \verbatim
65*> SRNAME_LEN is INTEGER
66*> The length of the name in SRNAME_ARRAY.
67*> \endverbatim
68*>
69*> \param[in] INFO
70*> \verbatim
71*> INFO is INTEGER
72*> The position of the invalid parameter in the parameter list
73*> of the calling routine.
74*> \endverbatim
75*
76* Authors:
77* ========
78*
79*> \author Univ. of Tennessee
80*> \author Univ. of California Berkeley
81*> \author Univ. of Colorado Denver
82*> \author NAG Ltd.
83*
84*> \ingroup xerbla_array
85*
86* =====================================================================
87 SUBROUTINE xerbla_array( SRNAME_ARRAY, SRNAME_LEN, INFO)
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
124 END
subroutine xerbla(srname, info)
Definition cblat2.f:3285
subroutine xerbla_array(srname_array, srname_len, info)
XERBLA_ARRAY