LAPACK 3.11.0
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* Definition:
9* ===========
10*
11* SUBROUTINE XERBLA_ARRAY(SRNAME_ARRAY, SRNAME_LEN, INFO)
12*
13* .. Scalar Arguments ..
14* INTEGER SRNAME_LEN, INFO
15* ..
16* .. Array Arguments ..
17* CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
18* ..
19*
20*
21*> \par Purpose:
22* =============
23*>
24*> \verbatim
25*>
26*> XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK
27*> and BLAS error handler. Rather than taking a Fortran string argument
28*> as the function's name, XERBLA_ARRAY takes an array of single
29*> characters along with the array's length. XERBLA_ARRAY then copies
30*> up to 32 characters of that array into a Fortran string and passes
31*> that to XERBLA. If called with a non-positive SRNAME_LEN,
32*> XERBLA_ARRAY will call XERBLA with a string of all blank characters.
33*>
34*> Say some macro or other device makes XERBLA_ARRAY available to C99
35*> by a name lapack_xerbla and with a common Fortran calling convention.
36*> Then a C99 program could invoke XERBLA via:
37*> {
38*> int flen = strlen(__func__);
39*> lapack_xerbla(__func__, &flen, &info);
40*> }
41*>
42*> Providing XERBLA_ARRAY is not necessary for intercepting LAPACK
43*> errors. XERBLA_ARRAY calls XERBLA.
44*> \endverbatim
45*
46* Arguments:
47* ==========
48*
49*> \param[in] SRNAME_ARRAY
50*> \verbatim
51*> SRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN)
52*> The name of the routine which called XERBLA_ARRAY.
53*> \endverbatim
54*>
55*> \param[in] SRNAME_LEN
56*> \verbatim
57*> SRNAME_LEN is INTEGER
58*> The length of the name in SRNAME_ARRAY.
59*> \endverbatim
60*>
61*> \param[in] INFO
62*> \verbatim
63*> INFO is INTEGER
64*> The position of the invalid parameter in the parameter list
65*> of the calling routine.
66*> \endverbatim
67*
68* Authors:
69* ========
70*
71*> \author Univ. of Tennessee
72*> \author Univ. of California Berkeley
73*> \author Univ. of Colorado Denver
74*> \author NAG Ltd.
75*
76*> \ingroup aux_blas
77*
78* =====================================================================
79 SUBROUTINE xerbla_array(SRNAME_ARRAY, SRNAME_LEN, INFO)
80*
81* -- Reference BLAS level1 routine --
82* -- Reference BLAS is a software package provided by Univ. of Tennessee, --
83* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
84*
85* .. Scalar Arguments ..
86 INTEGER SRNAME_LEN, INFO
87* ..
88* .. Array Arguments ..
89 CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
90* ..
91*
92* =====================================================================
93*
94* ..
95* .. Local Scalars ..
96 INTEGER I
97* ..
98* .. Local Arrays ..
99 CHARACTER*32 SRNAME
100* ..
101* .. Intrinsic Functions ..
102 INTRINSIC min, len
103* ..
104* .. External Functions ..
105 EXTERNAL xerbla
106* ..
107* .. Executable Statements ..
108 srname = ' '
109 DO i = 1, min( srname_len, len( srname ) )
110 srname( i:i ) = srname_array( i )
111 END DO
112
113 CALL xerbla( srname, info )
114
115 RETURN
116*
117* End of XERBLA_ARRAY
118*
119 END
subroutine xerbla(SRNAME, INFO)
XERBLA
Definition: xerbla.f:60
subroutine xerbla_array(SRNAME_ARRAY, SRNAME_LEN, INFO)
XERBLA_ARRAY
Definition: xerbla_array.f:80