File:
[local] /
rpl /
lapack /
blas /
xerbla_array.f
Revision
1.4:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Jan 27 09:28:13 2014 UTC (11 years, 3 months ago) by
bertrand
Branches:
MAIN
CVS tags:
rpl-4_1_24,
rpl-4_1_23,
rpl-4_1_22,
rpl-4_1_21,
rpl-4_1_20,
rpl-4_1_19,
rpl-4_1_18,
rpl-4_1_17,
HEAD
Cohérence.
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: *> \date November 2011
77: *
78: *> \ingroup aux_blas
79: *
80: * =====================================================================
81: SUBROUTINE XERBLA_ARRAY(SRNAME_ARRAY, SRNAME_LEN, INFO)
82: *
83: * -- Reference BLAS level1 routine (version 3.4.0) --
84: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
85: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
86: * November 2011
87: *
88: * .. Scalar Arguments ..
89: INTEGER SRNAME_LEN, INFO
90: * ..
91: * .. Array Arguments ..
92: CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
93: * ..
94: *
95: * =====================================================================
96: *
97: * ..
98: * .. Local Scalars ..
99: INTEGER I
100: * ..
101: * .. Local Arrays ..
102: CHARACTER*32 SRNAME
103: * ..
104: * .. Intrinsic Functions ..
105: INTRINSIC MIN, LEN
106: * ..
107: * .. External Functions ..
108: EXTERNAL XERBLA
109: * ..
110: * .. Executable Statements ..
111: SRNAME = ''
112: DO I = 1, MIN( SRNAME_LEN, LEN( SRNAME ) )
113: SRNAME( I:I ) = SRNAME_ARRAY( I )
114: END DO
115:
116: CALL XERBLA( SRNAME, INFO )
117:
118: RETURN
119: END
CVSweb interface <joel.bertrand@systella.fr>