Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-17 09:55:45

0001 /*****************************************************************************
0002   Copyright (c) 2014, Intel Corp.
0003   All rights reserved.
0004 
0005   Redistribution and use in source and binary forms, with or without
0006   modification, are permitted provided that the following conditions are met:
0007 
0008     * Redistributions of source code must retain the above copyright notice,
0009       this list of conditions and the following disclaimer.
0010     * Redistributions in binary form must reproduce the above copyright
0011       notice, this list of conditions and the following disclaimer in the
0012       documentation and/or other materials provided with the distribution.
0013     * Neither the name of Intel Corporation nor the names of its contributors
0014       may be used to endorse or promote products derived from this software
0015       without specific prior written permission.
0016 
0017   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0018   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0019   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0020   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0021   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0022   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0023   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0024   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0025   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0026   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
0027   THE POSSIBILITY OF SUCH DAMAGE.
0028 ******************************************************************************
0029 * Contents: Native C interface to LAPACK utility functions
0030 * Author: Intel Corporation
0031 *****************************************************************************/
0032 
0033 #ifndef _LAPACKE_UTILS_H_
0034 #define _LAPACKE_UTILS_H_
0035 
0036 #include "lapacke.h"
0037 
0038 #ifdef __cplusplus
0039 extern "C" {
0040 #endif /* __cplusplus */
0041 
0042 #ifndef ABS
0043 #define ABS(x) (((x) < 0) ? -(x) : (x))
0044 #endif
0045 #ifndef MAX
0046 #define MAX(x,y) (((x) > (y)) ? (x) : (y))
0047 #endif
0048 #ifndef MIN
0049 #define MIN(x,y) (((x) < (y)) ? (x) : (y))
0050 #endif
0051 #ifndef MAX3
0052 #define MAX3(x,y,z) (((x) > MAX(y,z)) ? (x) : MAX(y,z))
0053 #endif
0054 #ifndef MIN3
0055 #define MIN3(x,y,z) (((x) < MIN(y,z)) ? (x) : MIN(y,z))
0056 #endif
0057 
0058 #define IS_S_NONZERO(x) ( (x) < 0 || (x) > 0 )
0059 #define IS_D_NONZERO(x) ( (x) < 0 || (x) > 0 )
0060 #define IS_C_NONZERO(x) ( IS_S_NONZERO(*((float*)&x)) ||  \
0061                           IS_S_NONZERO(*(((float*)&x)+1)) )
0062 #define IS_Z_NONZERO(x) ( IS_D_NONZERO(*((double*)&x)) || \
0063                           IS_D_NONZERO(*(((double*)&x)+1)) )
0064 
0065 /* Error handler */
0066 void LAPACKE_xerbla( const char *name, lapack_int info );
0067 
0068 /* Compare two chars (case-insensitive) */
0069 lapack_logical LAPACKE_lsame( char ca,  char cb )
0070 #if defined __GNUC__
0071   __attribute__((const))
0072 #endif
0073     ;
0074 
0075 /* Functions to convert column-major to row-major 2d arrays and vice versa. */
0076 void LAPACKE_cgb_trans( int matrix_layout, lapack_int m, lapack_int n,
0077                         lapack_int kl, lapack_int ku,
0078                         const lapack_complex_float *in, lapack_int ldin,
0079                         lapack_complex_float *out, lapack_int ldout );
0080 void LAPACKE_cge_trans( int matrix_layout, lapack_int m, lapack_int n,
0081                         const lapack_complex_float* in, lapack_int ldin,
0082                         lapack_complex_float* out, lapack_int ldout );
0083 void LAPACKE_cgg_trans( int matrix_layout, lapack_int m, lapack_int n,
0084                         const lapack_complex_float* in, lapack_int ldin,
0085                         lapack_complex_float* out, lapack_int ldout );
0086 void LAPACKE_chb_trans( int matrix_layout, char uplo, lapack_int n,
0087                         lapack_int kd,
0088                         const lapack_complex_float *in, lapack_int ldin,
0089                         lapack_complex_float *out, lapack_int ldout );
0090 void LAPACKE_che_trans( int matrix_layout, char uplo, lapack_int n,
0091                         const lapack_complex_float *in, lapack_int ldin,
0092                         lapack_complex_float *out, lapack_int ldout );
0093 void LAPACKE_chp_trans( int matrix_layout, char uplo, lapack_int n,
0094                         const lapack_complex_float *in,
0095                         lapack_complex_float *out );
0096 void LAPACKE_chs_trans( int matrix_layout, lapack_int n,
0097                         const lapack_complex_float *in, lapack_int ldin,
0098                         lapack_complex_float *out, lapack_int ldout );
0099 void LAPACKE_cpb_trans( int matrix_layout, char uplo, lapack_int n,
0100                         lapack_int kd,
0101                         const lapack_complex_float *in, lapack_int ldin,
0102                         lapack_complex_float *out, lapack_int ldout );
0103 void LAPACKE_cpf_trans( int matrix_layout, char transr, char uplo,
0104                         lapack_int n, const lapack_complex_float *in,
0105                         lapack_complex_float *out );
0106 void LAPACKE_cpo_trans( int matrix_layout, char uplo, lapack_int n,
0107                         const lapack_complex_float *in, lapack_int ldin,
0108                         lapack_complex_float *out, lapack_int ldout );
0109 void LAPACKE_cpp_trans( int matrix_layout, char uplo, lapack_int n,
0110                         const lapack_complex_float *in,
0111                         lapack_complex_float *out );
0112 void LAPACKE_csp_trans( int matrix_layout, char uplo, lapack_int n,
0113                         const lapack_complex_float *in,
0114                         lapack_complex_float *out );
0115 void LAPACKE_csy_trans( int matrix_layout, char uplo, lapack_int n,
0116                         const lapack_complex_float *in, lapack_int ldin,
0117                         lapack_complex_float *out, lapack_int ldout );
0118 void LAPACKE_ctb_trans( int matrix_layout, char uplo, char diag,
0119                         lapack_int n, lapack_int kd,
0120                         const lapack_complex_float *in, lapack_int ldin,
0121                         lapack_complex_float *out, lapack_int ldout );
0122 void LAPACKE_ctf_trans( int matrix_layout, char transr, char uplo, char diag,
0123                         lapack_int n, const lapack_complex_float *in,
0124                         lapack_complex_float *out );
0125 void LAPACKE_ctp_trans( int matrix_layout, char uplo, char diag,
0126                         lapack_int n, const lapack_complex_float *in,
0127                         lapack_complex_float *out );
0128 void LAPACKE_ctr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
0129                         const lapack_complex_float *in, lapack_int ldin,
0130                         lapack_complex_float *out, lapack_int ldout );
0131 void LAPACKE_ctz_trans( int matrix_layout, char direct, char uplo,
0132                         char diag, lapack_int m, lapack_int n,
0133                         const lapack_complex_float *in, lapack_int ldin,
0134                         lapack_complex_float *out, lapack_int ldout );
0135 
0136 void LAPACKE_dgb_trans( int matrix_layout, lapack_int m, lapack_int n,
0137                         lapack_int kl, lapack_int ku,
0138                         const double *in, lapack_int ldin,
0139                         double *out, lapack_int ldout );
0140 void LAPACKE_dge_trans( int matrix_layout, lapack_int m, lapack_int n,
0141                         const double* in, lapack_int ldin,
0142                         double* out, lapack_int ldout );
0143 void LAPACKE_dgg_trans( int matrix_layout, lapack_int m, lapack_int n,
0144                         const double* in, lapack_int ldin,
0145                         double* out, lapack_int ldout );
0146 void LAPACKE_dhs_trans( int matrix_layout, lapack_int n,
0147                         const double *in, lapack_int ldin,
0148                         double *out, lapack_int ldout );
0149 void LAPACKE_dpb_trans( int matrix_layout, char uplo, lapack_int n,
0150                         lapack_int kd,
0151                         const double *in, lapack_int ldin,
0152                         double *out, lapack_int ldout );
0153 void LAPACKE_dpf_trans( int matrix_layout, char transr, char uplo,
0154                         lapack_int n, const double *in,
0155                         double *out );
0156 void LAPACKE_dpo_trans( int matrix_layout, char uplo, lapack_int n,
0157                         const double *in, lapack_int ldin,
0158                         double *out, lapack_int ldout );
0159 void LAPACKE_dpp_trans( int matrix_layout, char uplo, lapack_int n,
0160                         const double *in,
0161                         double *out );
0162 void LAPACKE_dsb_trans( int matrix_layout, char uplo, lapack_int n,
0163                         lapack_int kd,
0164                         const double *in, lapack_int ldin,
0165                         double *out, lapack_int ldout );
0166 void LAPACKE_dsp_trans( int matrix_layout, char uplo, lapack_int n,
0167                         const double *in,
0168                         double *out );
0169 void LAPACKE_dsy_trans( int matrix_layout, char uplo, lapack_int n,
0170                         const double *in, lapack_int ldin,
0171                         double *out, lapack_int ldout );
0172 void LAPACKE_dtb_trans( int matrix_layout, char uplo, char diag,
0173                         lapack_int n, lapack_int kd,
0174                         const double *in, lapack_int ldin,
0175                         double *out, lapack_int ldout );
0176 void LAPACKE_dtf_trans( int matrix_layout, char transr, char uplo, char diag,
0177                         lapack_int n, const double *in,
0178                         double *out );
0179 void LAPACKE_dtp_trans( int matrix_layout, char uplo, char diag,
0180                         lapack_int n, const double *in,
0181                         double *out );
0182 void LAPACKE_dtr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
0183                         const double *in, lapack_int ldin,
0184                         double *out, lapack_int ldout );
0185 void LAPACKE_dtz_trans( int matrix_layout, char direct, char uplo,
0186                         char diag, lapack_int m, lapack_int n,
0187                         const double *in, lapack_int ldin,
0188                         double *out, lapack_int ldout );
0189 
0190 void LAPACKE_sgb_trans( int matrix_layout, lapack_int m, lapack_int n,
0191                         lapack_int kl, lapack_int ku,
0192                         const float *in, lapack_int ldin,
0193                         float *out, lapack_int ldout );
0194 void LAPACKE_sge_trans( int matrix_layout, lapack_int m, lapack_int n,
0195                         const float* in, lapack_int ldin,
0196                         float* out, lapack_int ldout );
0197 void LAPACKE_sgg_trans( int matrix_layout, lapack_int m, lapack_int n,
0198                         const float* in, lapack_int ldin,
0199                         float* out, lapack_int ldout );
0200 void LAPACKE_shs_trans( int matrix_layout, lapack_int n,
0201                         const float *in, lapack_int ldin,
0202                         float *out, lapack_int ldout );
0203 void LAPACKE_spb_trans( int matrix_layout, char uplo, lapack_int n,
0204                         lapack_int kd,
0205                         const float *in, lapack_int ldin,
0206                         float *out, lapack_int ldout );
0207 void LAPACKE_spf_trans( int matrix_layout, char transr, char uplo,
0208                         lapack_int n, const float *in,
0209                         float *out );
0210 void LAPACKE_spo_trans( int matrix_layout, char uplo, lapack_int n,
0211                         const float *in, lapack_int ldin,
0212                         float *out, lapack_int ldout );
0213 void LAPACKE_spp_trans( int matrix_layout, char uplo, lapack_int n,
0214                         const float *in,
0215                         float *out );
0216 void LAPACKE_ssb_trans( int matrix_layout, char uplo, lapack_int n,
0217                         lapack_int kd,
0218                         const float *in, lapack_int ldin,
0219                         float *out, lapack_int ldout );
0220 void LAPACKE_ssp_trans( int matrix_layout, char uplo, lapack_int n,
0221                         const float *in,
0222                         float *out );
0223 void LAPACKE_ssy_trans( int matrix_layout, char uplo, lapack_int n,
0224                         const float *in, lapack_int ldin,
0225                         float *out, lapack_int ldout );
0226 void LAPACKE_stb_trans( int matrix_layout, char uplo, char diag,
0227                         lapack_int n, lapack_int kd,
0228                         const float *in, lapack_int ldin,
0229                         float *out, lapack_int ldout );
0230 void LAPACKE_stf_trans( int matrix_layout, char transr, char uplo, char diag,
0231                         lapack_int n, const float *in,
0232                         float *out );
0233 void LAPACKE_stp_trans( int matrix_layout, char uplo, char diag,
0234                         lapack_int n, const float *in,
0235                         float *out );
0236 void LAPACKE_str_trans( int matrix_layout, char uplo, char diag, lapack_int n,
0237                         const float *in, lapack_int ldin,
0238                         float *out, lapack_int ldout );
0239 void LAPACKE_stz_trans( int matrix_layout, char direct, char uplo,
0240                         char diag, lapack_int m, lapack_int n,
0241                         const float *in, lapack_int ldin,
0242                         float *out, lapack_int ldout );
0243 
0244 void LAPACKE_zgb_trans( int matrix_layout, lapack_int m, lapack_int n,
0245                         lapack_int kl, lapack_int ku,
0246                         const lapack_complex_double *in, lapack_int ldin,
0247                         lapack_complex_double *out, lapack_int ldout );
0248 void LAPACKE_zge_trans( int matrix_layout, lapack_int m, lapack_int n,
0249                         const lapack_complex_double* in, lapack_int ldin,
0250                         lapack_complex_double* out, lapack_int ldout );
0251 void LAPACKE_zgg_trans( int matrix_layout, lapack_int m, lapack_int n,
0252                         const lapack_complex_double* in, lapack_int ldin,
0253                         lapack_complex_double* out, lapack_int ldout );
0254 void LAPACKE_zhb_trans( int matrix_layout, char uplo, lapack_int n,
0255                         lapack_int kd,
0256                         const lapack_complex_double *in, lapack_int ldin,
0257                         lapack_complex_double *out, lapack_int ldout );
0258 void LAPACKE_zhe_trans( int matrix_layout, char uplo, lapack_int n,
0259                         const lapack_complex_double *in, lapack_int ldin,
0260                         lapack_complex_double *out, lapack_int ldout );
0261 void LAPACKE_zhp_trans( int matrix_layout, char uplo, lapack_int n,
0262                         const lapack_complex_double *in,
0263                         lapack_complex_double *out );
0264 void LAPACKE_zhs_trans( int matrix_layout, lapack_int n,
0265                         const lapack_complex_double *in, lapack_int ldin,
0266                         lapack_complex_double *out, lapack_int ldout );
0267 void LAPACKE_zpb_trans( int matrix_layout, char uplo, lapack_int n,
0268                         lapack_int kd,
0269                         const lapack_complex_double *in, lapack_int ldin,
0270                         lapack_complex_double *out, lapack_int ldout );
0271 void LAPACKE_zpf_trans( int matrix_layout, char transr, char uplo,
0272                         lapack_int n, const lapack_complex_double *in,
0273                         lapack_complex_double *out );
0274 void LAPACKE_zpo_trans( int matrix_layout, char uplo, lapack_int n,
0275                         const lapack_complex_double *in, lapack_int ldin,
0276                         lapack_complex_double *out, lapack_int ldout );
0277 void LAPACKE_zpp_trans( int matrix_layout, char uplo, lapack_int n,
0278                         const lapack_complex_double *in,
0279                         lapack_complex_double *out );
0280 void LAPACKE_zsp_trans( int matrix_layout, char uplo, lapack_int n,
0281                         const lapack_complex_double *in,
0282                         lapack_complex_double *out );
0283 void LAPACKE_zsy_trans( int matrix_layout, char uplo, lapack_int n,
0284                         const lapack_complex_double *in, lapack_int ldin,
0285                         lapack_complex_double *out, lapack_int ldout );
0286 void LAPACKE_ztb_trans( int matrix_layout, char uplo, char diag,
0287                         lapack_int n, lapack_int kd,
0288                         const lapack_complex_double *in, lapack_int ldin,
0289                         lapack_complex_double *out, lapack_int ldout );
0290 void LAPACKE_ztf_trans( int matrix_layout, char transr, char uplo, char diag,
0291                         lapack_int n, const lapack_complex_double *in,
0292                         lapack_complex_double *out );
0293 void LAPACKE_ztp_trans( int matrix_layout, char uplo, char diag,
0294                         lapack_int n, const lapack_complex_double *in,
0295                         lapack_complex_double *out );
0296 void LAPACKE_ztr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
0297                         const lapack_complex_double *in, lapack_int ldin,
0298                         lapack_complex_double *out, lapack_int ldout );
0299 void LAPACKE_ztz_trans( int matrix_layout, char direct, char uplo,
0300                         char diag, lapack_int m, lapack_int n,
0301                         const lapack_complex_double *in, lapack_int ldin,
0302                         lapack_complex_double *out, lapack_int ldout );
0303 
0304 /* NaN checkers */
0305 #define LAPACK_SISNAN( x ) ( x != x )
0306 #define LAPACK_DISNAN( x ) ( x != x )
0307 #define LAPACK_CISNAN( x ) ( LAPACK_SISNAN(*((float*) &x)) || \
0308                               LAPACK_SISNAN(*(((float*) &x)+1)) )
0309 #define LAPACK_ZISNAN( x ) ( LAPACK_DISNAN(*((double*)&x)) || \
0310                               LAPACK_DISNAN(*(((double*)&x)+1)) )
0311 
0312 /* NaN checkers for vectors */
0313 lapack_logical LAPACKE_c_nancheck( lapack_int n,
0314                                     const lapack_complex_float *x,
0315                                     lapack_int incx );
0316 lapack_logical LAPACKE_d_nancheck( lapack_int n,
0317                                     const double *x,
0318                                     lapack_int incx );
0319 lapack_logical LAPACKE_s_nancheck( lapack_int n,
0320                                     const float *x,
0321                                     lapack_int incx );
0322 lapack_logical LAPACKE_z_nancheck( lapack_int n,
0323                                     const lapack_complex_double *x,
0324                                     lapack_int incx );
0325 /* NaN checkers for matrices */
0326 lapack_logical LAPACKE_cgb_nancheck( int matrix_layout, lapack_int m,
0327                                       lapack_int n, lapack_int kl,
0328                                       lapack_int ku,
0329                                       const lapack_complex_float *ab,
0330                                       lapack_int ldab );
0331 lapack_logical LAPACKE_cge_nancheck( int matrix_layout, lapack_int m,
0332                                       lapack_int n,
0333                                       const lapack_complex_float *a,
0334                                       lapack_int lda );
0335 lapack_logical LAPACKE_cgg_nancheck( int matrix_layout, lapack_int m,
0336                                       lapack_int n,
0337                                       const lapack_complex_float *a,
0338                                       lapack_int lda );
0339 lapack_logical LAPACKE_cgt_nancheck( lapack_int n,
0340                                       const lapack_complex_float *dl,
0341                                       const lapack_complex_float *d,
0342                                       const lapack_complex_float *du );
0343 lapack_logical LAPACKE_chb_nancheck( int matrix_layout, char uplo,
0344                                       lapack_int n, lapack_int kd,
0345                                       const lapack_complex_float* ab,
0346                                       lapack_int ldab );
0347 lapack_logical LAPACKE_che_nancheck( int matrix_layout, char uplo,
0348                                       lapack_int n,
0349                                       const lapack_complex_float *a,
0350                                       lapack_int lda );
0351 lapack_logical LAPACKE_chp_nancheck( lapack_int n,
0352                                       const lapack_complex_float *ap );
0353 lapack_logical LAPACKE_chs_nancheck( int matrix_layout, lapack_int n,
0354                                       const lapack_complex_float *a,
0355                                       lapack_int lda );
0356 lapack_logical LAPACKE_cpb_nancheck( int matrix_layout, char uplo,
0357                                       lapack_int n, lapack_int kd,
0358                                       const lapack_complex_float* ab,
0359                                       lapack_int ldab );
0360 lapack_logical LAPACKE_cpf_nancheck( lapack_int n,
0361                                       const lapack_complex_float *a );
0362 lapack_logical LAPACKE_cpo_nancheck( int matrix_layout, char uplo,
0363                                       lapack_int n,
0364                                       const lapack_complex_float *a,
0365                                       lapack_int lda );
0366 lapack_logical LAPACKE_cpp_nancheck( lapack_int n,
0367                                       const lapack_complex_float *ap );
0368 lapack_logical LAPACKE_cpt_nancheck( lapack_int n,
0369                                       const float *d,
0370                                       const lapack_complex_float *e );
0371 lapack_logical LAPACKE_csp_nancheck( lapack_int n,
0372                                       const lapack_complex_float *ap );
0373 lapack_logical LAPACKE_cst_nancheck( lapack_int n,
0374                                       const lapack_complex_float *d,
0375                                       const lapack_complex_float *e );
0376 lapack_logical LAPACKE_csy_nancheck( int matrix_layout, char uplo,
0377                                       lapack_int n,
0378                                       const lapack_complex_float *a,
0379                                       lapack_int lda );
0380 lapack_logical LAPACKE_ctb_nancheck( int matrix_layout, char uplo, char diag,
0381                                       lapack_int n, lapack_int kd,
0382                                       const lapack_complex_float* ab,
0383                                       lapack_int ldab );
0384 lapack_logical LAPACKE_ctf_nancheck( int matrix_layout, char transr,
0385                                       char uplo, char diag,
0386                                       lapack_int n,
0387                                       const lapack_complex_float *a );
0388 lapack_logical LAPACKE_ctp_nancheck( int matrix_layout, char uplo, char diag,
0389                                       lapack_int n,
0390                                       const lapack_complex_float *ap );
0391 lapack_logical LAPACKE_ctr_nancheck( int matrix_layout, char uplo, char diag,
0392                                       lapack_int n,
0393                                       const lapack_complex_float *a,
0394                                       lapack_int lda );
0395 lapack_logical LAPACKE_ctz_nancheck( int matrix_layout, char direct, char uplo,
0396                                      char diag, lapack_int m, lapack_int n,
0397                                      const lapack_complex_float *a,
0398                                      lapack_int lda );
0399 
0400 lapack_logical LAPACKE_dgb_nancheck( int matrix_layout, lapack_int m,
0401                                       lapack_int n, lapack_int kl,
0402                                       lapack_int ku,
0403                                       const double *ab,
0404                                       lapack_int ldab );
0405 lapack_logical LAPACKE_dge_nancheck( int matrix_layout, lapack_int m,
0406                                       lapack_int n,
0407                                       const double *a,
0408                                       lapack_int lda );
0409 lapack_logical LAPACKE_dgg_nancheck( int matrix_layout, lapack_int m,
0410                                       lapack_int n,
0411                                       const double *a,
0412                                       lapack_int lda );
0413 lapack_logical LAPACKE_dgt_nancheck( lapack_int n,
0414                                       const double *dl,
0415                                       const double *d,
0416                                       const double *du );
0417 lapack_logical LAPACKE_dhs_nancheck( int matrix_layout, lapack_int n,
0418                                       const double *a,
0419                                       lapack_int lda );
0420 lapack_logical LAPACKE_dpb_nancheck( int matrix_layout, char uplo,
0421                                       lapack_int n, lapack_int kd,
0422                                       const double* ab,
0423                                       lapack_int ldab );
0424 lapack_logical LAPACKE_dpf_nancheck( lapack_int n,
0425                                       const double *a );
0426 lapack_logical LAPACKE_dpo_nancheck( int matrix_layout, char uplo,
0427                                       lapack_int n,
0428                                       const double *a,
0429                                       lapack_int lda );
0430 lapack_logical LAPACKE_dpp_nancheck( lapack_int n,
0431                                       const double *ap );
0432 lapack_logical LAPACKE_dpt_nancheck( lapack_int n,
0433                                       const double *d,
0434                                       const double *e );
0435 lapack_logical LAPACKE_dsb_nancheck( int matrix_layout, char uplo,
0436                                       lapack_int n, lapack_int kd,
0437                                       const double* ab,
0438                                       lapack_int ldab );
0439 lapack_logical LAPACKE_dsp_nancheck( lapack_int n,
0440                                       const double *ap );
0441 lapack_logical LAPACKE_dst_nancheck( lapack_int n,
0442                                       const double *d,
0443                                       const double *e );
0444 lapack_logical LAPACKE_dsy_nancheck( int matrix_layout, char uplo,
0445                                       lapack_int n,
0446                                       const double *a,
0447                                       lapack_int lda );
0448 lapack_logical LAPACKE_dtb_nancheck( int matrix_layout, char uplo, char diag,
0449                                       lapack_int n, lapack_int kd,
0450                                       const double* ab,
0451                                       lapack_int ldab );
0452 lapack_logical LAPACKE_dtf_nancheck( int matrix_layout, char transr,
0453                                       char uplo, char diag,
0454                                       lapack_int n,
0455                                       const double *a );
0456 lapack_logical LAPACKE_dtp_nancheck( int matrix_layout, char uplo, char diag,
0457                                       lapack_int n,
0458                                       const double *ap );
0459 lapack_logical LAPACKE_dtr_nancheck( int matrix_layout, char uplo, char diag,
0460                                       lapack_int n,
0461                                       const double *a,
0462                                       lapack_int lda );
0463 lapack_logical LAPACKE_dtz_nancheck( int matrix_layout, char direct, char uplo,
0464                                      char diag, lapack_int m, lapack_int n,
0465                                      const double *a, lapack_int lda );
0466 
0467 lapack_logical LAPACKE_sgb_nancheck( int matrix_layout, lapack_int m,
0468                                       lapack_int n, lapack_int kl,
0469                                       lapack_int ku,
0470                                       const float *ab,
0471                                       lapack_int ldab );
0472 lapack_logical LAPACKE_sge_nancheck( int matrix_layout, lapack_int m,
0473                                       lapack_int n,
0474                                       const float *a,
0475                                       lapack_int lda );
0476 lapack_logical LAPACKE_sgg_nancheck( int matrix_layout, lapack_int m,
0477                                       lapack_int n,
0478                                       const float *a,
0479                                       lapack_int lda );
0480 lapack_logical LAPACKE_sgt_nancheck( lapack_int n,
0481                                       const float *dl,
0482                                       const float *d,
0483                                       const float *du );
0484 lapack_logical LAPACKE_shs_nancheck( int matrix_layout, lapack_int n,
0485                                       const float *a,
0486                                       lapack_int lda );
0487 lapack_logical LAPACKE_spb_nancheck( int matrix_layout, char uplo,
0488                                       lapack_int n, lapack_int kd,
0489                                       const float* ab,
0490                                       lapack_int ldab );
0491 lapack_logical LAPACKE_spf_nancheck( lapack_int n,
0492                                       const float *a );
0493 lapack_logical LAPACKE_spo_nancheck( int matrix_layout, char uplo,
0494                                       lapack_int n,
0495                                       const float *a,
0496                                       lapack_int lda );
0497 lapack_logical LAPACKE_spp_nancheck( lapack_int n,
0498                                       const float *ap );
0499 lapack_logical LAPACKE_spt_nancheck( lapack_int n,
0500                                       const float *d,
0501                                       const float *e );
0502 lapack_logical LAPACKE_ssb_nancheck( int matrix_layout, char uplo,
0503                                       lapack_int n, lapack_int kd,
0504                                       const float* ab,
0505                                       lapack_int ldab );
0506 lapack_logical LAPACKE_ssp_nancheck( lapack_int n,
0507                                       const float *ap );
0508 lapack_logical LAPACKE_sst_nancheck( lapack_int n,
0509                                       const float *d,
0510                                       const float *e );
0511 lapack_logical LAPACKE_ssy_nancheck( int matrix_layout, char uplo,
0512                                       lapack_int n,
0513                                       const float *a,
0514                                       lapack_int lda );
0515 lapack_logical LAPACKE_stb_nancheck( int matrix_layout, char uplo, char diag,
0516                                       lapack_int n, lapack_int kd,
0517                                       const float* ab,
0518                                       lapack_int ldab );
0519 lapack_logical LAPACKE_stf_nancheck( int matrix_layout, char transr,
0520                                       char uplo, char diag,
0521                                       lapack_int n,
0522                                       const float *a );
0523 lapack_logical LAPACKE_stp_nancheck( int matrix_layout, char uplo, char diag,
0524                                       lapack_int n,
0525                                       const float *ap );
0526 lapack_logical LAPACKE_str_nancheck( int matrix_layout, char uplo, char diag,
0527                                       lapack_int n,
0528                                       const float *a,
0529                                       lapack_int lda );
0530 lapack_logical LAPACKE_stz_nancheck( int matrix_layout, char direct, char uplo,
0531                                      char diag, lapack_int m, lapack_int n,
0532                                      const float *a, lapack_int lda );
0533 
0534 lapack_logical LAPACKE_zgb_nancheck( int matrix_layout, lapack_int m,
0535                                       lapack_int n, lapack_int kl,
0536                                       lapack_int ku,
0537                                       const lapack_complex_double *ab,
0538                                       lapack_int ldab );
0539 lapack_logical LAPACKE_zge_nancheck( int matrix_layout, lapack_int m,
0540                                       lapack_int n,
0541                                       const lapack_complex_double *a,
0542                                       lapack_int lda );
0543 lapack_logical LAPACKE_zgg_nancheck( int matrix_layout, lapack_int m,
0544                                       lapack_int n,
0545                                       const lapack_complex_double *a,
0546                                       lapack_int lda );
0547 lapack_logical LAPACKE_zgt_nancheck( lapack_int n,
0548                                       const lapack_complex_double *dl,
0549                                       const lapack_complex_double *d,
0550                                       const lapack_complex_double *du );
0551 lapack_logical LAPACKE_zhb_nancheck( int matrix_layout, char uplo,
0552                                       lapack_int n, lapack_int kd,
0553                                       const lapack_complex_double* ab,
0554                                       lapack_int ldab );
0555 lapack_logical LAPACKE_zhe_nancheck( int matrix_layout, char uplo,
0556                                       lapack_int n,
0557                                       const lapack_complex_double *a,
0558                                       lapack_int lda );
0559 lapack_logical LAPACKE_zhp_nancheck( lapack_int n,
0560                                       const lapack_complex_double *ap );
0561 lapack_logical LAPACKE_zhs_nancheck( int matrix_layout, lapack_int n,
0562                                       const lapack_complex_double *a,
0563                                       lapack_int lda );
0564 lapack_logical LAPACKE_zpb_nancheck( int matrix_layout, char uplo,
0565                                       lapack_int n, lapack_int kd,
0566                                       const lapack_complex_double* ab,
0567                                       lapack_int ldab );
0568 lapack_logical LAPACKE_zpf_nancheck( lapack_int n,
0569                                       const lapack_complex_double *a );
0570 lapack_logical LAPACKE_zpo_nancheck( int matrix_layout, char uplo,
0571                                       lapack_int n,
0572                                       const lapack_complex_double *a,
0573                                       lapack_int lda );
0574 lapack_logical LAPACKE_zpp_nancheck( lapack_int n,
0575                                       const lapack_complex_double *ap );
0576 lapack_logical LAPACKE_zpt_nancheck( lapack_int n,
0577                                       const double *d,
0578                                       const lapack_complex_double *e );
0579 lapack_logical LAPACKE_zsp_nancheck( lapack_int n,
0580                                       const lapack_complex_double *ap );
0581 lapack_logical LAPACKE_zst_nancheck( lapack_int n,
0582                                       const lapack_complex_double *d,
0583                                       const lapack_complex_double *e );
0584 lapack_logical LAPACKE_zsy_nancheck( int matrix_layout, char uplo,
0585                                       lapack_int n,
0586                                       const lapack_complex_double *a,
0587                                       lapack_int lda );
0588 lapack_logical LAPACKE_ztb_nancheck( int matrix_layout, char uplo, char diag,
0589                                       lapack_int n, lapack_int kd,
0590                                       const lapack_complex_double* ab,
0591                                       lapack_int ldab );
0592 lapack_logical LAPACKE_ztf_nancheck( int matrix_layout, char transr,
0593                                       char uplo, char diag,
0594                                       lapack_int n,
0595                                       const lapack_complex_double *a );
0596 lapack_logical LAPACKE_ztp_nancheck( int matrix_layout, char uplo, char diag,
0597                                       lapack_int n,
0598                                       const lapack_complex_double *ap );
0599 lapack_logical LAPACKE_ztr_nancheck( int matrix_layout, char uplo, char diag,
0600                                       lapack_int n,
0601                                       const lapack_complex_double *a,
0602                                       lapack_int lda );
0603 lapack_logical LAPACKE_ztz_nancheck( int matrix_layout, char direct, char uplo,
0604                                      char diag, lapack_int m, lapack_int n,
0605                                      const lapack_complex_double *a,
0606                                      lapack_int lda );
0607 
0608 #ifdef __cplusplus
0609 }
0610 #endif /* __cplusplus */
0611 
0612 #endif  /* _LAPACKE_UTILS_H_ */