File:  [local] / rpl / lapack / lapack / xerbla_array.f
Revision 1.5: download - view: text, annotated - select for diffs - revision graph
Mon Jan 27 09:28:31 2014 UTC (10 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: *> \htmlonly
    9: *> Download XERBLA_ARRAY + dependencies 
   10: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/xerbla_array.f"> 
   11: *> [TGZ]</a> 
   12: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/xerbla_array.f"> 
   13: *> [ZIP]</a> 
   14: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/xerbla_array.f"> 
   15: *> [TXT]</a>
   16: *> \endhtmlonly 
   17: *
   18: *  Definition:
   19: *  ===========
   20: *
   21: *       SUBROUTINE XERBLA_ARRAY( SRNAME_ARRAY, SRNAME_LEN, INFO)
   22:    23: *       .. Scalar Arguments ..
   24: *       INTEGER SRNAME_LEN, INFO
   25: *       ..
   26: *       .. Array Arguments ..
   27: *       CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
   28: *       ..
   29: *  
   30: *
   31: *> \par Purpose:
   32: *  =============
   33: *>
   34: *> \verbatim
   35: *>
   36: *> XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK
   37: *> and BLAS error handler.  Rather than taking a Fortran string argument
   38: *> as the function's name, XERBLA_ARRAY takes an array of single
   39: *> characters along with the array's length.  XERBLA_ARRAY then copies
   40: *> up to 32 characters of that array into a Fortran string and passes
   41: *> that to XERBLA.  If called with a non-positive SRNAME_LEN,
   42: *> XERBLA_ARRAY will call XERBLA with a string of all blank characters.
   43: *>
   44: *> Say some macro or other device makes XERBLA_ARRAY available to C99
   45: *> by a name lapack_xerbla and with a common Fortran calling convention.
   46: *> Then a C99 program could invoke XERBLA via:
   47: *>    {
   48: *>      int flen = strlen(__func__);
   49: *>      lapack_xerbla(__func__, &flen, &info);
   50: *>    }
   51: *>
   52: *> Providing XERBLA_ARRAY is not necessary for intercepting LAPACK
   53: *> errors.  XERBLA_ARRAY calls XERBLA.
   54: *> \endverbatim
   55: *
   56: *  Arguments:
   57: *  ==========
   58: *
   59: *> \param[in] SRNAME_ARRAY
   60: *> \verbatim
   61: *>          SRNAME_ARRAY is CHARACTER(1) array, dimension (SRNAME_LEN)
   62: *>          The name of the routine which called XERBLA_ARRAY.
   63: *> \endverbatim
   64: *>
   65: *> \param[in] SRNAME_LEN
   66: *> \verbatim
   67: *>          SRNAME_LEN is INTEGER
   68: *>          The length of the name in SRNAME_ARRAY.
   69: *> \endverbatim
   70: *>
   71: *> \param[in] INFO
   72: *> \verbatim
   73: *>          INFO is INTEGER
   74: *>          The position of the invalid parameter in the parameter list
   75: *>          of the calling routine.
   76: *> \endverbatim
   77: *
   78: *  Authors:
   79: *  ========
   80: *
   81: *> \author Univ. of Tennessee 
   82: *> \author Univ. of California Berkeley 
   83: *> \author Univ. of Colorado Denver 
   84: *> \author NAG Ltd. 
   85: *
   86: *> \date November 2011
   87: *
   88: *> \ingroup auxOTHERauxiliary
   89: *
   90: *  =====================================================================
   91:       SUBROUTINE XERBLA_ARRAY( SRNAME_ARRAY, SRNAME_LEN, INFO)
   92: *
   93: *  -- LAPACK auxiliary routine (version 3.4.0) --
   94: *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
   95: *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   96: *     November 2011
   97: *
   98: *     .. Scalar Arguments ..
   99:       INTEGER SRNAME_LEN, INFO
  100: *     ..
  101: *     .. Array Arguments ..
  102:       CHARACTER(1) SRNAME_ARRAY(SRNAME_LEN)
  103: *     ..
  104: *
  105: * =====================================================================
  106: *
  107: *     ..
  108: *     .. Local Scalars ..
  109:       INTEGER I
  110: *     ..
  111: *     .. Local Arrays ..
  112:       CHARACTER*32 SRNAME
  113: *     ..
  114: *     .. Intrinsic Functions ..
  115:       INTRINSIC MIN, LEN
  116: *     ..
  117: *     .. External Functions ..
  118:       EXTERNAL XERBLA
  119: *     ..
  120: *     .. Executable Statements ..
  121:       SRNAME = ''
  122:       DO I = 1, MIN( SRNAME_LEN, LEN( SRNAME ) )
  123:          SRNAME( I:I ) = SRNAME_ARRAY( I )
  124:       END DO
  125: 
  126:       CALL XERBLA( SRNAME, INFO )
  127: 
  128:       RETURN
  129:       END

CVSweb interface <joel.bertrand@systella.fr>