1 /***************************************************************************** 2 Copyright (c) 2014, Intel Corp. 3 All rights reserved. 4 5 Redistribution and use in source and binary forms, with or without 6 modification, are permitted provided that the following conditions are met: 7 8 * Redistributions of source code must retain the above copyright notice, 9 this list of conditions and the following disclaimer. 10 * Redistributions in binary form must reproduce the above copyright 11 notice, this list of conditions and the following disclaimer in the 12 documentation and/or other materials provided with the distribution. 13 * Neither the name of Intel Corporation nor the names of its contributors 14 may be used to endorse or promote products derived from this software 15 without specific prior written permission. 16 17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27 THE POSSIBILITY OF SUCH DAMAGE. 28 ****************************************************************************** 29 * Contents: Native C interface to LAPACK utility functions 30 * Author: Intel Corporation 31 *****************************************************************************/ 32 33 #ifndef _LAPACKE_UTILS_H_ 34 #define _LAPACKE_UTILS_H_ 35 36 #include "lapacke.h" 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif /* __cplusplus */ 41 42 #ifndef ABS 43 #define ABS(x) (((x) < 0) ? -(x) : (x)) 44 #endif 45 #ifndef MAX 46 #define MAX(x,y) (((x) > (y)) ? (x) : (y)) 47 #endif 48 #ifndef MIN 49 #define MIN(x,y) (((x) < (y)) ? (x) : (y)) 50 #endif 51 #ifndef MAX3 52 #define MAX3(x,y,z) (((x) > MAX(y,z)) ? (x) : MAX(y,z)) 53 #endif 54 #ifndef MIN3 55 #define MIN3(x,y,z) (((x) < MIN(y,z)) ? (x) : MIN(y,z)) 56 #endif 57 58 #define IS_S_NONZERO(x) ( (x) < 0 || (x) > 0 ) 59 #define IS_D_NONZERO(x) ( (x) < 0 || (x) > 0 ) 60 #define IS_C_NONZERO(x) ( IS_S_NONZERO(*((float*)&x)) || \ 61 IS_S_NONZERO(*(((float*)&x)+1)) ) 62 #define IS_Z_NONZERO(x) ( IS_D_NONZERO(*((double*)&x)) || \ 63 IS_D_NONZERO(*(((double*)&x)+1)) ) 64 65 /* Error handler */ 66 void LAPACKE_xerbla( const char *name, lapack_int info ); 67 68 /* Compare two chars (case-insensitive) */ 69 lapack_logical LAPACKE_lsame( char ca, char cb ); 70 71 /* Functions to convert column-major to row-major 2d arrays and vice versa. */ 72 void LAPACKE_cgb_trans( int matrix_layout, lapack_int m, lapack_int n, 73 lapack_int kl, lapack_int ku, 74 const lapack_complex_float *in, lapack_int ldin, 75 lapack_complex_float *out, lapack_int ldout ); 76 void LAPACKE_cge_trans( int matrix_layout, lapack_int m, lapack_int n, 77 const lapack_complex_float* in, lapack_int ldin, 78 lapack_complex_float* out, lapack_int ldout ); 79 void LAPACKE_cgg_trans( int matrix_layout, lapack_int m, lapack_int n, 80 const lapack_complex_float* in, lapack_int ldin, 81 lapack_complex_float* out, lapack_int ldout ); 82 void LAPACKE_chb_trans( int matrix_layout, char uplo, lapack_int n, 83 lapack_int kd, 84 const lapack_complex_float *in, lapack_int ldin, 85 lapack_complex_float *out, lapack_int ldout ); 86 void LAPACKE_che_trans( int matrix_layout, char uplo, lapack_int n, 87 const lapack_complex_float *in, lapack_int ldin, 88 lapack_complex_float *out, lapack_int ldout ); 89 void LAPACKE_chp_trans( int matrix_layout, char uplo, lapack_int n, 90 const lapack_complex_float *in, 91 lapack_complex_float *out ); 92 void LAPACKE_chs_trans( int matrix_layout, lapack_int n, 93 const lapack_complex_float *in, lapack_int ldin, 94 lapack_complex_float *out, lapack_int ldout ); 95 void LAPACKE_cpb_trans( int matrix_layout, char uplo, lapack_int n, 96 lapack_int kd, 97 const lapack_complex_float *in, lapack_int ldin, 98 lapack_complex_float *out, lapack_int ldout ); 99 void LAPACKE_cpf_trans( int matrix_layout, char transr, char uplo, 100 lapack_int n, const lapack_complex_float *in, 101 lapack_complex_float *out ); 102 void LAPACKE_cpo_trans( int matrix_layout, char uplo, lapack_int n, 103 const lapack_complex_float *in, lapack_int ldin, 104 lapack_complex_float *out, lapack_int ldout ); 105 void LAPACKE_cpp_trans( int matrix_layout, char uplo, lapack_int n, 106 const lapack_complex_float *in, 107 lapack_complex_float *out ); 108 void LAPACKE_csp_trans( int matrix_layout, char uplo, lapack_int n, 109 const lapack_complex_float *in, 110 lapack_complex_float *out ); 111 void LAPACKE_csy_trans( int matrix_layout, char uplo, lapack_int n, 112 const lapack_complex_float *in, lapack_int ldin, 113 lapack_complex_float *out, lapack_int ldout ); 114 void LAPACKE_ctb_trans( int matrix_layout, char uplo, char diag, 115 lapack_int n, lapack_int kd, 116 const lapack_complex_float *in, lapack_int ldin, 117 lapack_complex_float *out, lapack_int ldout ); 118 void LAPACKE_ctf_trans( int matrix_layout, char transr, char uplo, char diag, 119 lapack_int n, const lapack_complex_float *in, 120 lapack_complex_float *out ); 121 void LAPACKE_ctp_trans( int matrix_layout, char uplo, char diag, 122 lapack_int n, const lapack_complex_float *in, 123 lapack_complex_float *out ); 124 void LAPACKE_ctr_trans( int matrix_layout, char uplo, char diag, lapack_int n, 125 const lapack_complex_float *in, lapack_int ldin, 126 lapack_complex_float *out, lapack_int ldout ); 127 128 void LAPACKE_dgb_trans( int matrix_layout, lapack_int m, lapack_int n, 129 lapack_int kl, lapack_int ku, 130 const double *in, lapack_int ldin, 131 double *out, lapack_int ldout ); 132 void LAPACKE_dge_trans( int matrix_layout, lapack_int m, lapack_int n, 133 const double* in, lapack_int ldin, 134 double* out, lapack_int ldout ); 135 void LAPACKE_dgg_trans( int matrix_layout, lapack_int m, lapack_int n, 136 const double* in, lapack_int ldin, 137 double* out, lapack_int ldout ); 138 void LAPACKE_dhs_trans( int matrix_layout, lapack_int n, 139 const double *in, lapack_int ldin, 140 double *out, lapack_int ldout ); 141 void LAPACKE_dpb_trans( int matrix_layout, char uplo, lapack_int n, 142 lapack_int kd, 143 const double *in, lapack_int ldin, 144 double *out, lapack_int ldout ); 145 void LAPACKE_dpf_trans( int matrix_layout, char transr, char uplo, 146 lapack_int n, const double *in, 147 double *out ); 148 void LAPACKE_dpo_trans( int matrix_layout, char uplo, lapack_int n, 149 const double *in, lapack_int ldin, 150 double *out, lapack_int ldout ); 151 void LAPACKE_dpp_trans( int matrix_layout, char uplo, lapack_int n, 152 const double *in, 153 double *out ); 154 void LAPACKE_dsb_trans( int matrix_layout, char uplo, lapack_int n, 155 lapack_int kd, 156 const double *in, lapack_int ldin, 157 double *out, lapack_int ldout ); 158 void LAPACKE_dsp_trans( int matrix_layout, char uplo, lapack_int n, 159 const double *in, 160 double *out ); 161 void LAPACKE_dsy_trans( int matrix_layout, char uplo, lapack_int n, 162 const double *in, lapack_int ldin, 163 double *out, lapack_int ldout ); 164 void LAPACKE_dtb_trans( int matrix_layout, char uplo, char diag, 165 lapack_int n, lapack_int kd, 166 const double *in, lapack_int ldin, 167 double *out, lapack_int ldout ); 168 void LAPACKE_dtf_trans( int matrix_layout, char transr, char uplo, char diag, 169 lapack_int n, const double *in, 170 double *out ); 171 void LAPACKE_dtp_trans( int matrix_layout, char uplo, char diag, 172 lapack_int n, const double *in, 173 double *out ); 174 void LAPACKE_dtr_trans( int matrix_layout, char uplo, char diag, lapack_int n, 175 const double *in, lapack_int ldin, 176 double *out, lapack_int ldout ); 177 178 void LAPACKE_sgb_trans( int matrix_layout, lapack_int m, lapack_int n, 179 lapack_int kl, lapack_int ku, 180 const float *in, lapack_int ldin, 181 float *out, lapack_int ldout ); 182 void LAPACKE_sge_trans( int matrix_layout, lapack_int m, lapack_int n, 183 const float* in, lapack_int ldin, 184 float* out, lapack_int ldout ); 185 void LAPACKE_sgg_trans( int matrix_layout, lapack_int m, lapack_int n, 186 const float* in, lapack_int ldin, 187 float* out, lapack_int ldout ); 188 void LAPACKE_shs_trans( int matrix_layout, lapack_int n, 189 const float *in, lapack_int ldin, 190 float *out, lapack_int ldout ); 191 void LAPACKE_spb_trans( int matrix_layout, char uplo, lapack_int n, 192 lapack_int kd, 193 const float *in, lapack_int ldin, 194 float *out, lapack_int ldout ); 195 void LAPACKE_spf_trans( int matrix_layout, char transr, char uplo, 196 lapack_int n, const float *in, 197 float *out ); 198 void LAPACKE_spo_trans( int matrix_layout, char uplo, lapack_int n, 199 const float *in, lapack_int ldin, 200 float *out, lapack_int ldout ); 201 void LAPACKE_spp_trans( int matrix_layout, char uplo, lapack_int n, 202 const float *in, 203 float *out ); 204 void LAPACKE_ssb_trans( int matrix_layout, char uplo, lapack_int n, 205 lapack_int kd, 206 const float *in, lapack_int ldin, 207 float *out, lapack_int ldout ); 208 void LAPACKE_ssp_trans( int matrix_layout, char uplo, lapack_int n, 209 const float *in, 210 float *out ); 211 void LAPACKE_ssy_trans( int matrix_layout, char uplo, lapack_int n, 212 const float *in, lapack_int ldin, 213 float *out, lapack_int ldout ); 214 void LAPACKE_stb_trans( int matrix_layout, char uplo, char diag, 215 lapack_int n, lapack_int kd, 216 const float *in, lapack_int ldin, 217 float *out, lapack_int ldout ); 218 void LAPACKE_stf_trans( int matrix_layout, char transr, char uplo, char diag, 219 lapack_int n, const float *in, 220 float *out ); 221 void LAPACKE_stp_trans( int matrix_layout, char uplo, char diag, 222 lapack_int n, const float *in, 223 float *out ); 224 void LAPACKE_str_trans( int matrix_layout, char uplo, char diag, lapack_int n, 225 const float *in, lapack_int ldin, 226 float *out, lapack_int ldout ); 227 228 void LAPACKE_zgb_trans( int matrix_layout, lapack_int m, lapack_int n, 229 lapack_int kl, lapack_int ku, 230 const lapack_complex_double *in, lapack_int ldin, 231 lapack_complex_double *out, lapack_int ldout ); 232 void LAPACKE_zge_trans( int matrix_layout, lapack_int m, lapack_int n, 233 const lapack_complex_double* in, lapack_int ldin, 234 lapack_complex_double* out, lapack_int ldout ); 235 void LAPACKE_zgg_trans( int matrix_layout, lapack_int m, lapack_int n, 236 const lapack_complex_double* in, lapack_int ldin, 237 lapack_complex_double* out, lapack_int ldout ); 238 void LAPACKE_zhb_trans( int matrix_layout, char uplo, lapack_int n, 239 lapack_int kd, 240 const lapack_complex_double *in, lapack_int ldin, 241 lapack_complex_double *out, lapack_int ldout ); 242 void LAPACKE_zhe_trans( int matrix_layout, char uplo, lapack_int n, 243 const lapack_complex_double *in, lapack_int ldin, 244 lapack_complex_double *out, lapack_int ldout ); 245 void LAPACKE_zhp_trans( int matrix_layout, char uplo, lapack_int n, 246 const lapack_complex_double *in, 247 lapack_complex_double *out ); 248 void LAPACKE_zhs_trans( int matrix_layout, lapack_int n, 249 const lapack_complex_double *in, lapack_int ldin, 250 lapack_complex_double *out, lapack_int ldout ); 251 void LAPACKE_zpb_trans( int matrix_layout, char uplo, lapack_int n, 252 lapack_int kd, 253 const lapack_complex_double *in, lapack_int ldin, 254 lapack_complex_double *out, lapack_int ldout ); 255 void LAPACKE_zpf_trans( int matrix_layout, char transr, char uplo, 256 lapack_int n, const lapack_complex_double *in, 257 lapack_complex_double *out ); 258 void LAPACKE_zpo_trans( int matrix_layout, char uplo, lapack_int n, 259 const lapack_complex_double *in, lapack_int ldin, 260 lapack_complex_double *out, lapack_int ldout ); 261 void LAPACKE_zpp_trans( int matrix_layout, char uplo, lapack_int n, 262 const lapack_complex_double *in, 263 lapack_complex_double *out ); 264 void LAPACKE_zsp_trans( int matrix_layout, char uplo, lapack_int n, 265 const lapack_complex_double *in, 266 lapack_complex_double *out ); 267 void LAPACKE_zsy_trans( int matrix_layout, char uplo, lapack_int n, 268 const lapack_complex_double *in, lapack_int ldin, 269 lapack_complex_double *out, lapack_int ldout ); 270 void LAPACKE_ztb_trans( int matrix_layout, char uplo, char diag, 271 lapack_int n, lapack_int kd, 272 const lapack_complex_double *in, lapack_int ldin, 273 lapack_complex_double *out, lapack_int ldout ); 274 void LAPACKE_ztf_trans( int matrix_layout, char transr, char uplo, char diag, 275 lapack_int n, const lapack_complex_double *in, 276 lapack_complex_double *out ); 277 void LAPACKE_ztp_trans( int matrix_layout, char uplo, char diag, 278 lapack_int n, const lapack_complex_double *in, 279 lapack_complex_double *out ); 280 void LAPACKE_ztr_trans( int matrix_layout, char uplo, char diag, lapack_int n, 281 const lapack_complex_double *in, lapack_int ldin, 282 lapack_complex_double *out, lapack_int ldout ); 283 284 /* NaN checkers */ 285 #define LAPACK_SISNAN( x ) ( x != x ) 286 #define LAPACK_DISNAN( x ) ( x != x ) 287 #define LAPACK_CISNAN( x ) ( LAPACK_SISNAN(*((float*) &x)) || \ 288 LAPACK_SISNAN(*(((float*) &x)+1)) ) 289 #define LAPACK_ZISNAN( x ) ( LAPACK_DISNAN(*((double*)&x)) || \ 290 LAPACK_DISNAN(*(((double*)&x)+1)) ) 291 292 /* NaN checkers for vectors */ 293 lapack_logical LAPACKE_c_nancheck( lapack_int n, 294 const lapack_complex_float *x, 295 lapack_int incx ); 296 lapack_logical LAPACKE_d_nancheck( lapack_int n, 297 const double *x, 298 lapack_int incx ); 299 lapack_logical LAPACKE_s_nancheck( lapack_int n, 300 const float *x, 301 lapack_int incx ); 302 lapack_logical LAPACKE_z_nancheck( lapack_int n, 303 const lapack_complex_double *x, 304 lapack_int incx ); 305 /* NaN checkers for matrices */ 306 lapack_logical LAPACKE_cgb_nancheck( int matrix_layout, lapack_int m, 307 lapack_int n, lapack_int kl, 308 lapack_int ku, 309 const lapack_complex_float *ab, 310 lapack_int ldab ); 311 lapack_logical LAPACKE_cge_nancheck( int matrix_layout, lapack_int m, 312 lapack_int n, 313 const lapack_complex_float *a, 314 lapack_int lda ); 315 lapack_logical LAPACKE_cgg_nancheck( int matrix_layout, lapack_int m, 316 lapack_int n, 317 const lapack_complex_float *a, 318 lapack_int lda ); 319 lapack_logical LAPACKE_cgt_nancheck( lapack_int n, 320 const lapack_complex_float *dl, 321 const lapack_complex_float *d, 322 const lapack_complex_float *du ); 323 lapack_logical LAPACKE_chb_nancheck( int matrix_layout, char uplo, 324 lapack_int n, lapack_int kd, 325 const lapack_complex_float* ab, 326 lapack_int ldab ); 327 lapack_logical LAPACKE_che_nancheck( int matrix_layout, char uplo, 328 lapack_int n, 329 const lapack_complex_float *a, 330 lapack_int lda ); 331 lapack_logical LAPACKE_chp_nancheck( lapack_int n, 332 const lapack_complex_float *ap ); 333 lapack_logical LAPACKE_chs_nancheck( int matrix_layout, lapack_int n, 334 const lapack_complex_float *a, 335 lapack_int lda ); 336 lapack_logical LAPACKE_cpb_nancheck( int matrix_layout, char uplo, 337 lapack_int n, lapack_int kd, 338 const lapack_complex_float* ab, 339 lapack_int ldab ); 340 lapack_logical LAPACKE_cpf_nancheck( lapack_int n, 341 const lapack_complex_float *a ); 342 lapack_logical LAPACKE_cpo_nancheck( int matrix_layout, char uplo, 343 lapack_int n, 344 const lapack_complex_float *a, 345 lapack_int lda ); 346 lapack_logical LAPACKE_cpp_nancheck( lapack_int n, 347 const lapack_complex_float *ap ); 348 lapack_logical LAPACKE_cpt_nancheck( lapack_int n, 349 const float *d, 350 const lapack_complex_float *e ); 351 lapack_logical LAPACKE_csp_nancheck( lapack_int n, 352 const lapack_complex_float *ap ); 353 lapack_logical LAPACKE_cst_nancheck( lapack_int n, 354 const lapack_complex_float *d, 355 const lapack_complex_float *e ); 356 lapack_logical LAPACKE_csy_nancheck( int matrix_layout, char uplo, 357 lapack_int n, 358 const lapack_complex_float *a, 359 lapack_int lda ); 360 lapack_logical LAPACKE_ctb_nancheck( int matrix_layout, char uplo, char diag, 361 lapack_int n, lapack_int kd, 362 const lapack_complex_float* ab, 363 lapack_int ldab ); 364 lapack_logical LAPACKE_ctf_nancheck( int matrix_layout, char transr, 365 char uplo, char diag, 366 lapack_int n, 367 const lapack_complex_float *a ); 368 lapack_logical LAPACKE_ctp_nancheck( int matrix_layout, char uplo, char diag, 369 lapack_int n, 370 const lapack_complex_float *ap ); 371 lapack_logical LAPACKE_ctr_nancheck( int matrix_layout, char uplo, char diag, 372 lapack_int n, 373 const lapack_complex_float *a, 374 lapack_int lda ); 375 376 lapack_logical LAPACKE_dgb_nancheck( int matrix_layout, lapack_int m, 377 lapack_int n, lapack_int kl, 378 lapack_int ku, 379 const double *ab, 380 lapack_int ldab ); 381 lapack_logical LAPACKE_dge_nancheck( int matrix_layout, lapack_int m, 382 lapack_int n, 383 const double *a, 384 lapack_int lda ); 385 lapack_logical LAPACKE_dgg_nancheck( int matrix_layout, lapack_int m, 386 lapack_int n, 387 const double *a, 388 lapack_int lda ); 389 lapack_logical LAPACKE_dgt_nancheck( lapack_int n, 390 const double *dl, 391 const double *d, 392 const double *du ); 393 lapack_logical LAPACKE_dhs_nancheck( int matrix_layout, lapack_int n, 394 const double *a, 395 lapack_int lda ); 396 lapack_logical LAPACKE_dpb_nancheck( int matrix_layout, char uplo, 397 lapack_int n, lapack_int kd, 398 const double* ab, 399 lapack_int ldab ); 400 lapack_logical LAPACKE_dpf_nancheck( lapack_int n, 401 const double *a ); 402 lapack_logical LAPACKE_dpo_nancheck( int matrix_layout, char uplo, 403 lapack_int n, 404 const double *a, 405 lapack_int lda ); 406 lapack_logical LAPACKE_dpp_nancheck( lapack_int n, 407 const double *ap ); 408 lapack_logical LAPACKE_dpt_nancheck( lapack_int n, 409 const double *d, 410 const double *e ); 411 lapack_logical LAPACKE_dsb_nancheck( int matrix_layout, char uplo, 412 lapack_int n, lapack_int kd, 413 const double* ab, 414 lapack_int ldab ); 415 lapack_logical LAPACKE_dsp_nancheck( lapack_int n, 416 const double *ap ); 417 lapack_logical LAPACKE_dst_nancheck( lapack_int n, 418 const double *d, 419 const double *e ); 420 lapack_logical LAPACKE_dsy_nancheck( int matrix_layout, char uplo, 421 lapack_int n, 422 const double *a, 423 lapack_int lda ); 424 lapack_logical LAPACKE_dtb_nancheck( int matrix_layout, char uplo, char diag, 425 lapack_int n, lapack_int kd, 426 const double* ab, 427 lapack_int ldab ); 428 lapack_logical LAPACKE_dtf_nancheck( int matrix_layout, char transr, 429 char uplo, char diag, 430 lapack_int n, 431 const double *a ); 432 lapack_logical LAPACKE_dtp_nancheck( int matrix_layout, char uplo, char diag, 433 lapack_int n, 434 const double *ap ); 435 lapack_logical LAPACKE_dtr_nancheck( int matrix_layout, char uplo, char diag, 436 lapack_int n, 437 const double *a, 438 lapack_int lda ); 439 440 lapack_logical LAPACKE_sgb_nancheck( int matrix_layout, lapack_int m, 441 lapack_int n, lapack_int kl, 442 lapack_int ku, 443 const float *ab, 444 lapack_int ldab ); 445 lapack_logical LAPACKE_sge_nancheck( int matrix_layout, lapack_int m, 446 lapack_int n, 447 const float *a, 448 lapack_int lda ); 449 lapack_logical LAPACKE_sgg_nancheck( int matrix_layout, lapack_int m, 450 lapack_int n, 451 const float *a, 452 lapack_int lda ); 453 lapack_logical LAPACKE_sgt_nancheck( lapack_int n, 454 const float *dl, 455 const float *d, 456 const float *du ); 457 lapack_logical LAPACKE_shs_nancheck( int matrix_layout, lapack_int n, 458 const float *a, 459 lapack_int lda ); 460 lapack_logical LAPACKE_spb_nancheck( int matrix_layout, char uplo, 461 lapack_int n, lapack_int kd, 462 const float* ab, 463 lapack_int ldab ); 464 lapack_logical LAPACKE_spf_nancheck( lapack_int n, 465 const float *a ); 466 lapack_logical LAPACKE_spo_nancheck( int matrix_layout, char uplo, 467 lapack_int n, 468 const float *a, 469 lapack_int lda ); 470 lapack_logical LAPACKE_spp_nancheck( lapack_int n, 471 const float *ap ); 472 lapack_logical LAPACKE_spt_nancheck( lapack_int n, 473 const float *d, 474 const float *e ); 475 lapack_logical LAPACKE_ssb_nancheck( int matrix_layout, char uplo, 476 lapack_int n, lapack_int kd, 477 const float* ab, 478 lapack_int ldab ); 479 lapack_logical LAPACKE_ssp_nancheck( lapack_int n, 480 const float *ap ); 481 lapack_logical LAPACKE_sst_nancheck( lapack_int n, 482 const float *d, 483 const float *e ); 484 lapack_logical LAPACKE_ssy_nancheck( int matrix_layout, char uplo, 485 lapack_int n, 486 const float *a, 487 lapack_int lda ); 488 lapack_logical LAPACKE_stb_nancheck( int matrix_layout, char uplo, char diag, 489 lapack_int n, lapack_int kd, 490 const float* ab, 491 lapack_int ldab ); 492 lapack_logical LAPACKE_stf_nancheck( int matrix_layout, char transr, 493 char uplo, char diag, 494 lapack_int n, 495 const float *a ); 496 lapack_logical LAPACKE_stp_nancheck( int matrix_layout, char uplo, char diag, 497 lapack_int n, 498 const float *ap ); 499 lapack_logical LAPACKE_str_nancheck( int matrix_layout, char uplo, char diag, 500 lapack_int n, 501 const float *a, 502 lapack_int lda ); 503 504 lapack_logical LAPACKE_zgb_nancheck( int matrix_layout, lapack_int m, 505 lapack_int n, lapack_int kl, 506 lapack_int ku, 507 const lapack_complex_double *ab, 508 lapack_int ldab ); 509 lapack_logical LAPACKE_zge_nancheck( int matrix_layout, lapack_int m, 510 lapack_int n, 511 const lapack_complex_double *a, 512 lapack_int lda ); 513 lapack_logical LAPACKE_zgg_nancheck( int matrix_layout, lapack_int m, 514 lapack_int n, 515 const lapack_complex_double *a, 516 lapack_int lda ); 517 lapack_logical LAPACKE_zgt_nancheck( lapack_int n, 518 const lapack_complex_double *dl, 519 const lapack_complex_double *d, 520 const lapack_complex_double *du ); 521 lapack_logical LAPACKE_zhb_nancheck( int matrix_layout, char uplo, 522 lapack_int n, lapack_int kd, 523 const lapack_complex_double* ab, 524 lapack_int ldab ); 525 lapack_logical LAPACKE_zhe_nancheck( int matrix_layout, char uplo, 526 lapack_int n, 527 const lapack_complex_double *a, 528 lapack_int lda ); 529 lapack_logical LAPACKE_zhp_nancheck( lapack_int n, 530 const lapack_complex_double *ap ); 531 lapack_logical LAPACKE_zhs_nancheck( int matrix_layout, lapack_int n, 532 const lapack_complex_double *a, 533 lapack_int lda ); 534 lapack_logical LAPACKE_zpb_nancheck( int matrix_layout, char uplo, 535 lapack_int n, lapack_int kd, 536 const lapack_complex_double* ab, 537 lapack_int ldab ); 538 lapack_logical LAPACKE_zpf_nancheck( lapack_int n, 539 const lapack_complex_double *a ); 540 lapack_logical LAPACKE_zpo_nancheck( int matrix_layout, char uplo, 541 lapack_int n, 542 const lapack_complex_double *a, 543 lapack_int lda ); 544 lapack_logical LAPACKE_zpp_nancheck( lapack_int n, 545 const lapack_complex_double *ap ); 546 lapack_logical LAPACKE_zpt_nancheck( lapack_int n, 547 const double *d, 548 const lapack_complex_double *e ); 549 lapack_logical LAPACKE_zsp_nancheck( lapack_int n, 550 const lapack_complex_double *ap ); 551 lapack_logical LAPACKE_zst_nancheck( lapack_int n, 552 const lapack_complex_double *d, 553 const lapack_complex_double *e ); 554 lapack_logical LAPACKE_zsy_nancheck( int matrix_layout, char uplo, 555 lapack_int n, 556 const lapack_complex_double *a, 557 lapack_int lda ); 558 lapack_logical LAPACKE_ztb_nancheck( int matrix_layout, char uplo, char diag, 559 lapack_int n, lapack_int kd, 560 const lapack_complex_double* ab, 561 lapack_int ldab ); 562 lapack_logical LAPACKE_ztf_nancheck( int matrix_layout, char transr, 563 char uplo, char diag, 564 lapack_int n, 565 const lapack_complex_double *a ); 566 lapack_logical LAPACKE_ztp_nancheck( int matrix_layout, char uplo, char diag, 567 lapack_int n, 568 const lapack_complex_double *ap ); 569 lapack_logical LAPACKE_ztr_nancheck( int matrix_layout, char uplo, char diag, 570 lapack_int n, 571 const lapack_complex_double *a, 572 lapack_int lda ); 573 574 #ifdef __cplusplus 575 } 576 #endif /* __cplusplus */ 577 578 #endif /* _LAPACKE_UTILS_H_ */ 579