LAPACK  3.11.0
LAPACK: Linear Algebra PACKage
lapacke_utils.h
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 #if defined __GNUC__
71  __attribute__((const))
72 #endif
73  ;
74 
75 /* Functions to convert column-major to row-major 2d arrays and vice versa. */
76 void LAPACKE_cgb_trans( int matrix_layout, lapack_int m, lapack_int n,
77  lapack_int kl, lapack_int ku,
78  const lapack_complex_float *in, lapack_int ldin,
79  lapack_complex_float *out, lapack_int ldout );
80 void LAPACKE_cge_trans( int matrix_layout, lapack_int m, lapack_int n,
81  const lapack_complex_float* in, lapack_int ldin,
82  lapack_complex_float* out, lapack_int ldout );
83 void LAPACKE_cgg_trans( int matrix_layout, lapack_int m, lapack_int n,
84  const lapack_complex_float* in, lapack_int ldin,
85  lapack_complex_float* out, lapack_int ldout );
86 void LAPACKE_chb_trans( int matrix_layout, char uplo, lapack_int n,
87  lapack_int kd,
88  const lapack_complex_float *in, lapack_int ldin,
89  lapack_complex_float *out, lapack_int ldout );
90 void LAPACKE_che_trans( int matrix_layout, char uplo, lapack_int n,
91  const lapack_complex_float *in, lapack_int ldin,
92  lapack_complex_float *out, lapack_int ldout );
93 void LAPACKE_chp_trans( int matrix_layout, char uplo, lapack_int n,
94  const lapack_complex_float *in,
95  lapack_complex_float *out );
96 void LAPACKE_chs_trans( int matrix_layout, lapack_int n,
97  const lapack_complex_float *in, lapack_int ldin,
98  lapack_complex_float *out, lapack_int ldout );
99 void LAPACKE_cpb_trans( int matrix_layout, char uplo, lapack_int n,
100  lapack_int kd,
101  const lapack_complex_float *in, lapack_int ldin,
102  lapack_complex_float *out, lapack_int ldout );
103 void LAPACKE_cpf_trans( int matrix_layout, char transr, char uplo,
104  lapack_int n, const lapack_complex_float *in,
105  lapack_complex_float *out );
106 void LAPACKE_cpo_trans( int matrix_layout, char uplo, lapack_int n,
107  const lapack_complex_float *in, lapack_int ldin,
108  lapack_complex_float *out, lapack_int ldout );
109 void LAPACKE_cpp_trans( int matrix_layout, char uplo, lapack_int n,
110  const lapack_complex_float *in,
111  lapack_complex_float *out );
112 void LAPACKE_csp_trans( int matrix_layout, char uplo, lapack_int n,
113  const lapack_complex_float *in,
114  lapack_complex_float *out );
115 void LAPACKE_csy_trans( int matrix_layout, char uplo, lapack_int n,
116  const lapack_complex_float *in, lapack_int ldin,
117  lapack_complex_float *out, lapack_int ldout );
118 void LAPACKE_ctb_trans( int matrix_layout, char uplo, char diag,
119  lapack_int n, lapack_int kd,
120  const lapack_complex_float *in, lapack_int ldin,
121  lapack_complex_float *out, lapack_int ldout );
122 void LAPACKE_ctf_trans( int matrix_layout, char transr, char uplo, char diag,
123  lapack_int n, const lapack_complex_float *in,
124  lapack_complex_float *out );
125 void LAPACKE_ctp_trans( int matrix_layout, char uplo, char diag,
126  lapack_int n, const lapack_complex_float *in,
127  lapack_complex_float *out );
128 void LAPACKE_ctr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
129  const lapack_complex_float *in, lapack_int ldin,
130  lapack_complex_float *out, lapack_int ldout );
131 void LAPACKE_ctz_trans( int matrix_layout, char direct, char uplo,
132  char diag, lapack_int m, lapack_int n,
133  const lapack_complex_float *in, lapack_int ldin,
134  lapack_complex_float *out, lapack_int ldout );
135 
136 void LAPACKE_dgb_trans( int matrix_layout, lapack_int m, lapack_int n,
137  lapack_int kl, lapack_int ku,
138  const double *in, lapack_int ldin,
139  double *out, lapack_int ldout );
140 void LAPACKE_dge_trans( int matrix_layout, lapack_int m, lapack_int n,
141  const double* in, lapack_int ldin,
142  double* out, lapack_int ldout );
143 void LAPACKE_dgg_trans( int matrix_layout, lapack_int m, lapack_int n,
144  const double* in, lapack_int ldin,
145  double* out, lapack_int ldout );
146 void LAPACKE_dhs_trans( int matrix_layout, lapack_int n,
147  const double *in, lapack_int ldin,
148  double *out, lapack_int ldout );
149 void LAPACKE_dpb_trans( int matrix_layout, char uplo, lapack_int n,
150  lapack_int kd,
151  const double *in, lapack_int ldin,
152  double *out, lapack_int ldout );
153 void LAPACKE_dpf_trans( int matrix_layout, char transr, char uplo,
154  lapack_int n, const double *in,
155  double *out );
156 void LAPACKE_dpo_trans( int matrix_layout, char uplo, lapack_int n,
157  const double *in, lapack_int ldin,
158  double *out, lapack_int ldout );
159 void LAPACKE_dpp_trans( int matrix_layout, char uplo, lapack_int n,
160  const double *in,
161  double *out );
162 void LAPACKE_dsb_trans( int matrix_layout, char uplo, lapack_int n,
163  lapack_int kd,
164  const double *in, lapack_int ldin,
165  double *out, lapack_int ldout );
166 void LAPACKE_dsp_trans( int matrix_layout, char uplo, lapack_int n,
167  const double *in,
168  double *out );
169 void LAPACKE_dsy_trans( int matrix_layout, char uplo, lapack_int n,
170  const double *in, lapack_int ldin,
171  double *out, lapack_int ldout );
172 void LAPACKE_dtb_trans( int matrix_layout, char uplo, char diag,
173  lapack_int n, lapack_int kd,
174  const double *in, lapack_int ldin,
175  double *out, lapack_int ldout );
176 void LAPACKE_dtf_trans( int matrix_layout, char transr, char uplo, char diag,
177  lapack_int n, const double *in,
178  double *out );
179 void LAPACKE_dtp_trans( int matrix_layout, char uplo, char diag,
180  lapack_int n, const double *in,
181  double *out );
182 void LAPACKE_dtr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
183  const double *in, lapack_int ldin,
184  double *out, lapack_int ldout );
185 void LAPACKE_dtz_trans( int matrix_layout, char direct, char uplo,
186  char diag, lapack_int m, lapack_int n,
187  const double *in, lapack_int ldin,
188  double *out, lapack_int ldout );
189 
190 void LAPACKE_sgb_trans( int matrix_layout, lapack_int m, lapack_int n,
191  lapack_int kl, lapack_int ku,
192  const float *in, lapack_int ldin,
193  float *out, lapack_int ldout );
194 void LAPACKE_sge_trans( int matrix_layout, lapack_int m, lapack_int n,
195  const float* in, lapack_int ldin,
196  float* out, lapack_int ldout );
197 void LAPACKE_sgg_trans( int matrix_layout, lapack_int m, lapack_int n,
198  const float* in, lapack_int ldin,
199  float* out, lapack_int ldout );
200 void LAPACKE_shs_trans( int matrix_layout, lapack_int n,
201  const float *in, lapack_int ldin,
202  float *out, lapack_int ldout );
203 void LAPACKE_spb_trans( int matrix_layout, char uplo, lapack_int n,
204  lapack_int kd,
205  const float *in, lapack_int ldin,
206  float *out, lapack_int ldout );
207 void LAPACKE_spf_trans( int matrix_layout, char transr, char uplo,
208  lapack_int n, const float *in,
209  float *out );
210 void LAPACKE_spo_trans( int matrix_layout, char uplo, lapack_int n,
211  const float *in, lapack_int ldin,
212  float *out, lapack_int ldout );
213 void LAPACKE_spp_trans( int matrix_layout, char uplo, lapack_int n,
214  const float *in,
215  float *out );
216 void LAPACKE_ssb_trans( int matrix_layout, char uplo, lapack_int n,
217  lapack_int kd,
218  const float *in, lapack_int ldin,
219  float *out, lapack_int ldout );
220 void LAPACKE_ssp_trans( int matrix_layout, char uplo, lapack_int n,
221  const float *in,
222  float *out );
223 void LAPACKE_ssy_trans( int matrix_layout, char uplo, lapack_int n,
224  const float *in, lapack_int ldin,
225  float *out, lapack_int ldout );
226 void LAPACKE_stb_trans( int matrix_layout, char uplo, char diag,
227  lapack_int n, lapack_int kd,
228  const float *in, lapack_int ldin,
229  float *out, lapack_int ldout );
230 void LAPACKE_stf_trans( int matrix_layout, char transr, char uplo, char diag,
231  lapack_int n, const float *in,
232  float *out );
233 void LAPACKE_stp_trans( int matrix_layout, char uplo, char diag,
234  lapack_int n, const float *in,
235  float *out );
236 void LAPACKE_str_trans( int matrix_layout, char uplo, char diag, lapack_int n,
237  const float *in, lapack_int ldin,
238  float *out, lapack_int ldout );
239 void LAPACKE_stz_trans( int matrix_layout, char direct, char uplo,
240  char diag, lapack_int m, lapack_int n,
241  const float *in, lapack_int ldin,
242  float *out, lapack_int ldout );
243 
244 void LAPACKE_zgb_trans( int matrix_layout, lapack_int m, lapack_int n,
245  lapack_int kl, lapack_int ku,
246  const lapack_complex_double *in, lapack_int ldin,
247  lapack_complex_double *out, lapack_int ldout );
248 void LAPACKE_zge_trans( int matrix_layout, lapack_int m, lapack_int n,
249  const lapack_complex_double* in, lapack_int ldin,
250  lapack_complex_double* out, lapack_int ldout );
251 void LAPACKE_zgg_trans( int matrix_layout, lapack_int m, lapack_int n,
252  const lapack_complex_double* in, lapack_int ldin,
253  lapack_complex_double* out, lapack_int ldout );
254 void LAPACKE_zhb_trans( int matrix_layout, char uplo, lapack_int n,
255  lapack_int kd,
256  const lapack_complex_double *in, lapack_int ldin,
257  lapack_complex_double *out, lapack_int ldout );
258 void LAPACKE_zhe_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_zhp_trans( int matrix_layout, char uplo, lapack_int n,
262  const lapack_complex_double *in,
263  lapack_complex_double *out );
264 void LAPACKE_zhs_trans( int matrix_layout, lapack_int n,
265  const lapack_complex_double *in, lapack_int ldin,
266  lapack_complex_double *out, lapack_int ldout );
267 void LAPACKE_zpb_trans( int matrix_layout, char uplo, lapack_int n,
268  lapack_int kd,
269  const lapack_complex_double *in, lapack_int ldin,
270  lapack_complex_double *out, lapack_int ldout );
271 void LAPACKE_zpf_trans( int matrix_layout, char transr, char uplo,
272  lapack_int n, const lapack_complex_double *in,
273  lapack_complex_double *out );
274 void LAPACKE_zpo_trans( int matrix_layout, char uplo, lapack_int n,
275  const lapack_complex_double *in, lapack_int ldin,
276  lapack_complex_double *out, lapack_int ldout );
277 void LAPACKE_zpp_trans( int matrix_layout, char uplo, lapack_int n,
278  const lapack_complex_double *in,
279  lapack_complex_double *out );
280 void LAPACKE_zsp_trans( int matrix_layout, char uplo, lapack_int n,
281  const lapack_complex_double *in,
282  lapack_complex_double *out );
283 void LAPACKE_zsy_trans( int matrix_layout, char uplo, lapack_int n,
284  const lapack_complex_double *in, lapack_int ldin,
285  lapack_complex_double *out, lapack_int ldout );
286 void LAPACKE_ztb_trans( int matrix_layout, char uplo, char diag,
287  lapack_int n, lapack_int kd,
288  const lapack_complex_double *in, lapack_int ldin,
289  lapack_complex_double *out, lapack_int ldout );
290 void LAPACKE_ztf_trans( int matrix_layout, char transr, char uplo, char diag,
291  lapack_int n, const lapack_complex_double *in,
292  lapack_complex_double *out );
293 void LAPACKE_ztp_trans( int matrix_layout, char uplo, char diag,
294  lapack_int n, const lapack_complex_double *in,
295  lapack_complex_double *out );
296 void LAPACKE_ztr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
297  const lapack_complex_double *in, lapack_int ldin,
298  lapack_complex_double *out, lapack_int ldout );
299 void LAPACKE_ztz_trans( int matrix_layout, char direct, char uplo,
300  char diag, lapack_int m, lapack_int n,
301  const lapack_complex_double *in, lapack_int ldin,
302  lapack_complex_double *out, lapack_int ldout );
303 
304 /* NaN checkers */
305 #define LAPACK_SISNAN( x ) ( x != x )
306 #define LAPACK_DISNAN( x ) ( x != x )
307 #define LAPACK_CISNAN( x ) ( LAPACK_SISNAN(*((float*) &x)) || \
308  LAPACK_SISNAN(*(((float*) &x)+1)) )
309 #define LAPACK_ZISNAN( x ) ( LAPACK_DISNAN(*((double*)&x)) || \
310  LAPACK_DISNAN(*(((double*)&x)+1)) )
311 
312 /* NaN checkers for vectors */
313 lapack_logical LAPACKE_c_nancheck( lapack_int n,
314  const lapack_complex_float *x,
315  lapack_int incx );
316 lapack_logical LAPACKE_d_nancheck( lapack_int n,
317  const double *x,
318  lapack_int incx );
319 lapack_logical LAPACKE_s_nancheck( lapack_int n,
320  const float *x,
321  lapack_int incx );
322 lapack_logical LAPACKE_z_nancheck( lapack_int n,
323  const lapack_complex_double *x,
324  lapack_int incx );
325 /* NaN checkers for matrices */
326 lapack_logical LAPACKE_cgb_nancheck( int matrix_layout, lapack_int m,
327  lapack_int n, lapack_int kl,
328  lapack_int ku,
329  const lapack_complex_float *ab,
330  lapack_int ldab );
331 lapack_logical LAPACKE_cge_nancheck( int matrix_layout, lapack_int m,
332  lapack_int n,
333  const lapack_complex_float *a,
334  lapack_int lda );
335 lapack_logical LAPACKE_cgg_nancheck( int matrix_layout, lapack_int m,
336  lapack_int n,
337  const lapack_complex_float *a,
338  lapack_int lda );
339 lapack_logical LAPACKE_cgt_nancheck( lapack_int n,
340  const lapack_complex_float *dl,
341  const lapack_complex_float *d,
342  const lapack_complex_float *du );
343 lapack_logical LAPACKE_chb_nancheck( int matrix_layout, char uplo,
344  lapack_int n, lapack_int kd,
345  const lapack_complex_float* ab,
346  lapack_int ldab );
347 lapack_logical LAPACKE_che_nancheck( int matrix_layout, char uplo,
348  lapack_int n,
349  const lapack_complex_float *a,
350  lapack_int lda );
351 lapack_logical LAPACKE_chp_nancheck( lapack_int n,
352  const lapack_complex_float *ap );
353 lapack_logical LAPACKE_chs_nancheck( int matrix_layout, lapack_int n,
354  const lapack_complex_float *a,
355  lapack_int lda );
356 lapack_logical LAPACKE_cpb_nancheck( int matrix_layout, char uplo,
357  lapack_int n, lapack_int kd,
358  const lapack_complex_float* ab,
359  lapack_int ldab );
360 lapack_logical LAPACKE_cpf_nancheck( lapack_int n,
361  const lapack_complex_float *a );
362 lapack_logical LAPACKE_cpo_nancheck( int matrix_layout, char uplo,
363  lapack_int n,
364  const lapack_complex_float *a,
365  lapack_int lda );
366 lapack_logical LAPACKE_cpp_nancheck( lapack_int n,
367  const lapack_complex_float *ap );
368 lapack_logical LAPACKE_cpt_nancheck( lapack_int n,
369  const float *d,
370  const lapack_complex_float *e );
371 lapack_logical LAPACKE_csp_nancheck( lapack_int n,
372  const lapack_complex_float *ap );
373 lapack_logical LAPACKE_cst_nancheck( lapack_int n,
374  const lapack_complex_float *d,
375  const lapack_complex_float *e );
376 lapack_logical LAPACKE_csy_nancheck( int matrix_layout, char uplo,
377  lapack_int n,
378  const lapack_complex_float *a,
379  lapack_int lda );
380 lapack_logical LAPACKE_ctb_nancheck( int matrix_layout, char uplo, char diag,
381  lapack_int n, lapack_int kd,
382  const lapack_complex_float* ab,
383  lapack_int ldab );
384 lapack_logical LAPACKE_ctf_nancheck( int matrix_layout, char transr,
385  char uplo, char diag,
386  lapack_int n,
387  const lapack_complex_float *a );
388 lapack_logical LAPACKE_ctp_nancheck( int matrix_layout, char uplo, char diag,
389  lapack_int n,
390  const lapack_complex_float *ap );
391 lapack_logical LAPACKE_ctr_nancheck( int matrix_layout, char uplo, char diag,
392  lapack_int n,
393  const lapack_complex_float *a,
394  lapack_int lda );
395 lapack_logical LAPACKE_ctz_nancheck( int matrix_layout, char direct, char uplo,
396  char diag, lapack_int m, lapack_int n,
397  const lapack_complex_float *a,
398  lapack_int lda );
399 
400 lapack_logical LAPACKE_dgb_nancheck( int matrix_layout, lapack_int m,
401  lapack_int n, lapack_int kl,
402  lapack_int ku,
403  const double *ab,
404  lapack_int ldab );
405 lapack_logical LAPACKE_dge_nancheck( int matrix_layout, lapack_int m,
406  lapack_int n,
407  const double *a,
408  lapack_int lda );
409 lapack_logical LAPACKE_dgg_nancheck( int matrix_layout, lapack_int m,
410  lapack_int n,
411  const double *a,
412  lapack_int lda );
413 lapack_logical LAPACKE_dgt_nancheck( lapack_int n,
414  const double *dl,
415  const double *d,
416  const double *du );
417 lapack_logical LAPACKE_dhs_nancheck( int matrix_layout, lapack_int n,
418  const double *a,
419  lapack_int lda );
420 lapack_logical LAPACKE_dpb_nancheck( int matrix_layout, char uplo,
421  lapack_int n, lapack_int kd,
422  const double* ab,
423  lapack_int ldab );
424 lapack_logical LAPACKE_dpf_nancheck( lapack_int n,
425  const double *a );
426 lapack_logical LAPACKE_dpo_nancheck( int matrix_layout, char uplo,
427  lapack_int n,
428  const double *a,
429  lapack_int lda );
430 lapack_logical LAPACKE_dpp_nancheck( lapack_int n,
431  const double *ap );
432 lapack_logical LAPACKE_dpt_nancheck( lapack_int n,
433  const double *d,
434  const double *e );
435 lapack_logical LAPACKE_dsb_nancheck( int matrix_layout, char uplo,
436  lapack_int n, lapack_int kd,
437  const double* ab,
438  lapack_int ldab );
439 lapack_logical LAPACKE_dsp_nancheck( lapack_int n,
440  const double *ap );
441 lapack_logical LAPACKE_dst_nancheck( lapack_int n,
442  const double *d,
443  const double *e );
444 lapack_logical LAPACKE_dsy_nancheck( int matrix_layout, char uplo,
445  lapack_int n,
446  const double *a,
447  lapack_int lda );
448 lapack_logical LAPACKE_dtb_nancheck( int matrix_layout, char uplo, char diag,
449  lapack_int n, lapack_int kd,
450  const double* ab,
451  lapack_int ldab );
452 lapack_logical LAPACKE_dtf_nancheck( int matrix_layout, char transr,
453  char uplo, char diag,
454  lapack_int n,
455  const double *a );
456 lapack_logical LAPACKE_dtp_nancheck( int matrix_layout, char uplo, char diag,
457  lapack_int n,
458  const double *ap );
459 lapack_logical LAPACKE_dtr_nancheck( int matrix_layout, char uplo, char diag,
460  lapack_int n,
461  const double *a,
462  lapack_int lda );
463 lapack_logical LAPACKE_dtz_nancheck( int matrix_layout, char direct, char uplo,
464  char diag, lapack_int m, lapack_int n,
465  const double *a, lapack_int lda );
466 
467 lapack_logical LAPACKE_sgb_nancheck( int matrix_layout, lapack_int m,
468  lapack_int n, lapack_int kl,
469  lapack_int ku,
470  const float *ab,
471  lapack_int ldab );
472 lapack_logical LAPACKE_sge_nancheck( int matrix_layout, lapack_int m,
473  lapack_int n,
474  const float *a,
475  lapack_int lda );
476 lapack_logical LAPACKE_sgg_nancheck( int matrix_layout, lapack_int m,
477  lapack_int n,
478  const float *a,
479  lapack_int lda );
480 lapack_logical LAPACKE_sgt_nancheck( lapack_int n,
481  const float *dl,
482  const float *d,
483  const float *du );
484 lapack_logical LAPACKE_shs_nancheck( int matrix_layout, lapack_int n,
485  const float *a,
486  lapack_int lda );
487 lapack_logical LAPACKE_spb_nancheck( int matrix_layout, char uplo,
488  lapack_int n, lapack_int kd,
489  const float* ab,
490  lapack_int ldab );
491 lapack_logical LAPACKE_spf_nancheck( lapack_int n,
492  const float *a );
493 lapack_logical LAPACKE_spo_nancheck( int matrix_layout, char uplo,
494  lapack_int n,
495  const float *a,
496  lapack_int lda );
497 lapack_logical LAPACKE_spp_nancheck( lapack_int n,
498  const float *ap );
499 lapack_logical LAPACKE_spt_nancheck( lapack_int n,
500  const float *d,
501  const float *e );
502 lapack_logical LAPACKE_ssb_nancheck( int matrix_layout, char uplo,
503  lapack_int n, lapack_int kd,
504  const float* ab,
505  lapack_int ldab );
506 lapack_logical LAPACKE_ssp_nancheck( lapack_int n,
507  const float *ap );
508 lapack_logical LAPACKE_sst_nancheck( lapack_int n,
509  const float *d,
510  const float *e );
511 lapack_logical LAPACKE_ssy_nancheck( int matrix_layout, char uplo,
512  lapack_int n,
513  const float *a,
514  lapack_int lda );
515 lapack_logical LAPACKE_stb_nancheck( int matrix_layout, char uplo, char diag,
516  lapack_int n, lapack_int kd,
517  const float* ab,
518  lapack_int ldab );
519 lapack_logical LAPACKE_stf_nancheck( int matrix_layout, char transr,
520  char uplo, char diag,
521  lapack_int n,
522  const float *a );
523 lapack_logical LAPACKE_stp_nancheck( int matrix_layout, char uplo, char diag,
524  lapack_int n,
525  const float *ap );
526 lapack_logical LAPACKE_str_nancheck( int matrix_layout, char uplo, char diag,
527  lapack_int n,
528  const float *a,
529  lapack_int lda );
530 lapack_logical LAPACKE_stz_nancheck( int matrix_layout, char direct, char uplo,
531  char diag, lapack_int m, lapack_int n,
532  const float *a, lapack_int lda );
533 
534 lapack_logical LAPACKE_zgb_nancheck( int matrix_layout, lapack_int m,
535  lapack_int n, lapack_int kl,
536  lapack_int ku,
537  const lapack_complex_double *ab,
538  lapack_int ldab );
539 lapack_logical LAPACKE_zge_nancheck( int matrix_layout, lapack_int m,
540  lapack_int n,
541  const lapack_complex_double *a,
542  lapack_int lda );
543 lapack_logical LAPACKE_zgg_nancheck( int matrix_layout, lapack_int m,
544  lapack_int n,
545  const lapack_complex_double *a,
546  lapack_int lda );
547 lapack_logical LAPACKE_zgt_nancheck( lapack_int n,
548  const lapack_complex_double *dl,
549  const lapack_complex_double *d,
550  const lapack_complex_double *du );
551 lapack_logical LAPACKE_zhb_nancheck( int matrix_layout, char uplo,
552  lapack_int n, lapack_int kd,
553  const lapack_complex_double* ab,
554  lapack_int ldab );
555 lapack_logical LAPACKE_zhe_nancheck( int matrix_layout, char uplo,
556  lapack_int n,
557  const lapack_complex_double *a,
558  lapack_int lda );
559 lapack_logical LAPACKE_zhp_nancheck( lapack_int n,
560  const lapack_complex_double *ap );
561 lapack_logical LAPACKE_zhs_nancheck( int matrix_layout, lapack_int n,
562  const lapack_complex_double *a,
563  lapack_int lda );
564 lapack_logical LAPACKE_zpb_nancheck( int matrix_layout, char uplo,
565  lapack_int n, lapack_int kd,
566  const lapack_complex_double* ab,
567  lapack_int ldab );
568 lapack_logical LAPACKE_zpf_nancheck( lapack_int n,
569  const lapack_complex_double *a );
570 lapack_logical LAPACKE_zpo_nancheck( int matrix_layout, char uplo,
571  lapack_int n,
572  const lapack_complex_double *a,
573  lapack_int lda );
574 lapack_logical LAPACKE_zpp_nancheck( lapack_int n,
575  const lapack_complex_double *ap );
576 lapack_logical LAPACKE_zpt_nancheck( lapack_int n,
577  const double *d,
578  const lapack_complex_double *e );
579 lapack_logical LAPACKE_zsp_nancheck( lapack_int n,
580  const lapack_complex_double *ap );
581 lapack_logical LAPACKE_zst_nancheck( lapack_int n,
582  const lapack_complex_double *d,
583  const lapack_complex_double *e );
584 lapack_logical LAPACKE_zsy_nancheck( int matrix_layout, char uplo,
585  lapack_int n,
586  const lapack_complex_double *a,
587  lapack_int lda );
588 lapack_logical LAPACKE_ztb_nancheck( int matrix_layout, char uplo, char diag,
589  lapack_int n, lapack_int kd,
590  const lapack_complex_double* ab,
591  lapack_int ldab );
592 lapack_logical LAPACKE_ztf_nancheck( int matrix_layout, char transr,
593  char uplo, char diag,
594  lapack_int n,
595  const lapack_complex_double *a );
596 lapack_logical LAPACKE_ztp_nancheck( int matrix_layout, char uplo, char diag,
597  lapack_int n,
598  const lapack_complex_double *ap );
599 lapack_logical LAPACKE_ztr_nancheck( int matrix_layout, char uplo, char diag,
600  lapack_int n,
601  const lapack_complex_double *a,
602  lapack_int lda );
603 lapack_logical LAPACKE_ztz_nancheck( int matrix_layout, char direct, char uplo,
604  char diag, lapack_int m, lapack_int n,
605  const lapack_complex_double *a,
606  lapack_int lda );
607 
608 #ifdef __cplusplus
609 }
610 #endif /* __cplusplus */
611 
612 #endif /* _LAPACKE_UTILS_H_ */