LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
lapacke_utils.h
Go to the documentation of this file.
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 
132 void LAPACKE_dgb_trans( int matrix_layout, lapack_int m, lapack_int n,
133  lapack_int kl, lapack_int ku,
134  const double *in, lapack_int ldin,
135  double *out, lapack_int ldout );
136 void LAPACKE_dge_trans( int matrix_layout, lapack_int m, lapack_int n,
137  const double* in, lapack_int ldin,
138  double* out, lapack_int ldout );
139 void LAPACKE_dgg_trans( int matrix_layout, lapack_int m, lapack_int n,
140  const double* in, lapack_int ldin,
141  double* out, lapack_int ldout );
142 void LAPACKE_dhs_trans( int matrix_layout, lapack_int n,
143  const double *in, lapack_int ldin,
144  double *out, lapack_int ldout );
145 void LAPACKE_dpb_trans( int matrix_layout, char uplo, lapack_int n,
146  lapack_int kd,
147  const double *in, lapack_int ldin,
148  double *out, lapack_int ldout );
149 void LAPACKE_dpf_trans( int matrix_layout, char transr, char uplo,
150  lapack_int n, const double *in,
151  double *out );
152 void LAPACKE_dpo_trans( int matrix_layout, char uplo, lapack_int n,
153  const double *in, lapack_int ldin,
154  double *out, lapack_int ldout );
155 void LAPACKE_dpp_trans( int matrix_layout, char uplo, lapack_int n,
156  const double *in,
157  double *out );
158 void LAPACKE_dsb_trans( int matrix_layout, char uplo, lapack_int n,
159  lapack_int kd,
160  const double *in, lapack_int ldin,
161  double *out, lapack_int ldout );
162 void LAPACKE_dsp_trans( int matrix_layout, char uplo, lapack_int n,
163  const double *in,
164  double *out );
165 void LAPACKE_dsy_trans( int matrix_layout, char uplo, lapack_int n,
166  const double *in, lapack_int ldin,
167  double *out, lapack_int ldout );
168 void LAPACKE_dtb_trans( int matrix_layout, char uplo, char diag,
169  lapack_int n, lapack_int kd,
170  const double *in, lapack_int ldin,
171  double *out, lapack_int ldout );
172 void LAPACKE_dtf_trans( int matrix_layout, char transr, char uplo, char diag,
173  lapack_int n, const double *in,
174  double *out );
175 void LAPACKE_dtp_trans( int matrix_layout, char uplo, char diag,
176  lapack_int n, const double *in,
177  double *out );
178 void LAPACKE_dtr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
179  const double *in, lapack_int ldin,
180  double *out, lapack_int ldout );
181 
182 void LAPACKE_sgb_trans( int matrix_layout, lapack_int m, lapack_int n,
183  lapack_int kl, lapack_int ku,
184  const float *in, lapack_int ldin,
185  float *out, lapack_int ldout );
186 void LAPACKE_sge_trans( int matrix_layout, lapack_int m, lapack_int n,
187  const float* in, lapack_int ldin,
188  float* out, lapack_int ldout );
189 void LAPACKE_sgg_trans( int matrix_layout, lapack_int m, lapack_int n,
190  const float* in, lapack_int ldin,
191  float* out, lapack_int ldout );
192 void LAPACKE_shs_trans( int matrix_layout, lapack_int n,
193  const float *in, lapack_int ldin,
194  float *out, lapack_int ldout );
195 void LAPACKE_spb_trans( int matrix_layout, char uplo, lapack_int n,
196  lapack_int kd,
197  const float *in, lapack_int ldin,
198  float *out, lapack_int ldout );
199 void LAPACKE_spf_trans( int matrix_layout, char transr, char uplo,
200  lapack_int n, const float *in,
201  float *out );
202 void LAPACKE_spo_trans( int matrix_layout, char uplo, lapack_int n,
203  const float *in, lapack_int ldin,
204  float *out, lapack_int ldout );
205 void LAPACKE_spp_trans( int matrix_layout, char uplo, lapack_int n,
206  const float *in,
207  float *out );
208 void LAPACKE_ssb_trans( int matrix_layout, char uplo, lapack_int n,
209  lapack_int kd,
210  const float *in, lapack_int ldin,
211  float *out, lapack_int ldout );
212 void LAPACKE_ssp_trans( int matrix_layout, char uplo, lapack_int n,
213  const float *in,
214  float *out );
215 void LAPACKE_ssy_trans( int matrix_layout, char uplo, lapack_int n,
216  const float *in, lapack_int ldin,
217  float *out, lapack_int ldout );
218 void LAPACKE_stb_trans( int matrix_layout, char uplo, char diag,
219  lapack_int n, lapack_int kd,
220  const float *in, lapack_int ldin,
221  float *out, lapack_int ldout );
222 void LAPACKE_stf_trans( int matrix_layout, char transr, char uplo, char diag,
223  lapack_int n, const float *in,
224  float *out );
225 void LAPACKE_stp_trans( int matrix_layout, char uplo, char diag,
226  lapack_int n, const float *in,
227  float *out );
228 void LAPACKE_str_trans( int matrix_layout, char uplo, char diag, lapack_int n,
229  const float *in, lapack_int ldin,
230  float *out, lapack_int ldout );
231 
232 void LAPACKE_zgb_trans( int matrix_layout, lapack_int m, lapack_int n,
233  lapack_int kl, lapack_int ku,
234  const lapack_complex_double *in, lapack_int ldin,
235  lapack_complex_double *out, lapack_int ldout );
236 void LAPACKE_zge_trans( int matrix_layout, lapack_int m, lapack_int n,
237  const lapack_complex_double* in, lapack_int ldin,
238  lapack_complex_double* out, lapack_int ldout );
239 void LAPACKE_zgg_trans( int matrix_layout, lapack_int m, lapack_int n,
240  const lapack_complex_double* in, lapack_int ldin,
241  lapack_complex_double* out, lapack_int ldout );
242 void LAPACKE_zhb_trans( int matrix_layout, char uplo, lapack_int n,
243  lapack_int kd,
244  const lapack_complex_double *in, lapack_int ldin,
245  lapack_complex_double *out, lapack_int ldout );
246 void LAPACKE_zhe_trans( int matrix_layout, char uplo, lapack_int n,
247  const lapack_complex_double *in, lapack_int ldin,
248  lapack_complex_double *out, lapack_int ldout );
249 void LAPACKE_zhp_trans( int matrix_layout, char uplo, lapack_int n,
250  const lapack_complex_double *in,
251  lapack_complex_double *out );
252 void LAPACKE_zhs_trans( int matrix_layout, lapack_int n,
253  const lapack_complex_double *in, lapack_int ldin,
254  lapack_complex_double *out, lapack_int ldout );
255 void LAPACKE_zpb_trans( int matrix_layout, char uplo, lapack_int n,
256  lapack_int kd,
257  const lapack_complex_double *in, lapack_int ldin,
258  lapack_complex_double *out, lapack_int ldout );
259 void LAPACKE_zpf_trans( int matrix_layout, char transr, char uplo,
260  lapack_int n, const lapack_complex_double *in,
261  lapack_complex_double *out );
262 void LAPACKE_zpo_trans( int matrix_layout, char uplo, lapack_int n,
263  const lapack_complex_double *in, lapack_int ldin,
264  lapack_complex_double *out, lapack_int ldout );
265 void LAPACKE_zpp_trans( int matrix_layout, char uplo, lapack_int n,
266  const lapack_complex_double *in,
267  lapack_complex_double *out );
268 void LAPACKE_zsp_trans( int matrix_layout, char uplo, lapack_int n,
269  const lapack_complex_double *in,
270  lapack_complex_double *out );
271 void LAPACKE_zsy_trans( int matrix_layout, char uplo, lapack_int n,
272  const lapack_complex_double *in, lapack_int ldin,
273  lapack_complex_double *out, lapack_int ldout );
274 void LAPACKE_ztb_trans( int matrix_layout, char uplo, char diag,
275  lapack_int n, lapack_int kd,
276  const lapack_complex_double *in, lapack_int ldin,
277  lapack_complex_double *out, lapack_int ldout );
278 void LAPACKE_ztf_trans( int matrix_layout, char transr, char uplo, char diag,
279  lapack_int n, const lapack_complex_double *in,
280  lapack_complex_double *out );
281 void LAPACKE_ztp_trans( int matrix_layout, char uplo, char diag,
282  lapack_int n, const lapack_complex_double *in,
283  lapack_complex_double *out );
284 void LAPACKE_ztr_trans( int matrix_layout, char uplo, char diag, lapack_int n,
285  const lapack_complex_double *in, lapack_int ldin,
286  lapack_complex_double *out, lapack_int ldout );
287 
288 /* NaN checkers */
289 #define LAPACK_SISNAN( x ) ( x != x )
290 #define LAPACK_DISNAN( x ) ( x != x )
291 #define LAPACK_CISNAN( x ) ( LAPACK_SISNAN(*((float*) &x)) || \
292  LAPACK_SISNAN(*(((float*) &x)+1)) )
293 #define LAPACK_ZISNAN( x ) ( LAPACK_DISNAN(*((double*)&x)) || \
294  LAPACK_DISNAN(*(((double*)&x)+1)) )
295 
296 /* NaN checkers for vectors */
298  const lapack_complex_float *x,
299  lapack_int incx );
301  const double *x,
302  lapack_int incx );
304  const float *x,
305  lapack_int incx );
307  const lapack_complex_double *x,
308  lapack_int incx );
309 /* NaN checkers for matrices */
310 lapack_logical LAPACKE_cgb_nancheck( int matrix_layout, lapack_int m,
311  lapack_int n, lapack_int kl,
312  lapack_int ku,
313  const lapack_complex_float *ab,
314  lapack_int ldab );
315 lapack_logical LAPACKE_cge_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_cgg_nancheck( int matrix_layout, lapack_int m,
320  lapack_int n,
321  const lapack_complex_float *a,
322  lapack_int lda );
324  const lapack_complex_float *dl,
325  const lapack_complex_float *d,
326  const lapack_complex_float *du );
327 lapack_logical LAPACKE_chb_nancheck( int matrix_layout, char uplo,
328  lapack_int n, lapack_int kd,
329  const lapack_complex_float* ab,
330  lapack_int ldab );
331 lapack_logical LAPACKE_che_nancheck( int matrix_layout, char uplo,
332  lapack_int n,
333  const lapack_complex_float *a,
334  lapack_int lda );
336  const lapack_complex_float *ap );
337 lapack_logical LAPACKE_chs_nancheck( int matrix_layout, lapack_int n,
338  const lapack_complex_float *a,
339  lapack_int lda );
340 lapack_logical LAPACKE_cpb_nancheck( int matrix_layout, char uplo,
341  lapack_int n, lapack_int kd,
342  const lapack_complex_float* ab,
343  lapack_int ldab );
345  const lapack_complex_float *a );
346 lapack_logical LAPACKE_cpo_nancheck( int matrix_layout, char uplo,
347  lapack_int n,
348  const lapack_complex_float *a,
349  lapack_int lda );
351  const lapack_complex_float *ap );
353  const float *d,
354  const lapack_complex_float *e );
356  const lapack_complex_float *ap );
358  const lapack_complex_float *d,
359  const lapack_complex_float *e );
360 lapack_logical LAPACKE_csy_nancheck( int matrix_layout, char uplo,
361  lapack_int n,
362  const lapack_complex_float *a,
363  lapack_int lda );
364 lapack_logical LAPACKE_ctb_nancheck( int matrix_layout, char uplo, char diag,
365  lapack_int n, lapack_int kd,
366  const lapack_complex_float* ab,
367  lapack_int ldab );
368 lapack_logical LAPACKE_ctf_nancheck( int matrix_layout, char transr,
369  char uplo, char diag,
370  lapack_int n,
371  const lapack_complex_float *a );
372 lapack_logical LAPACKE_ctp_nancheck( int matrix_layout, char uplo, char diag,
373  lapack_int n,
374  const lapack_complex_float *ap );
375 lapack_logical LAPACKE_ctr_nancheck( int matrix_layout, char uplo, char diag,
376  lapack_int n,
377  const lapack_complex_float *a,
378  lapack_int lda );
379 
380 lapack_logical LAPACKE_dgb_nancheck( int matrix_layout, lapack_int m,
381  lapack_int n, lapack_int kl,
382  lapack_int ku,
383  const double *ab,
384  lapack_int ldab );
385 lapack_logical LAPACKE_dge_nancheck( int matrix_layout, lapack_int m,
386  lapack_int n,
387  const double *a,
388  lapack_int lda );
389 lapack_logical LAPACKE_dgg_nancheck( int matrix_layout, lapack_int m,
390  lapack_int n,
391  const double *a,
392  lapack_int lda );
394  const double *dl,
395  const double *d,
396  const double *du );
397 lapack_logical LAPACKE_dhs_nancheck( int matrix_layout, lapack_int n,
398  const double *a,
399  lapack_int lda );
400 lapack_logical LAPACKE_dpb_nancheck( int matrix_layout, char uplo,
401  lapack_int n, lapack_int kd,
402  const double* ab,
403  lapack_int ldab );
405  const double *a );
406 lapack_logical LAPACKE_dpo_nancheck( int matrix_layout, char uplo,
407  lapack_int n,
408  const double *a,
409  lapack_int lda );
411  const double *ap );
413  const double *d,
414  const double *e );
415 lapack_logical LAPACKE_dsb_nancheck( int matrix_layout, char uplo,
416  lapack_int n, lapack_int kd,
417  const double* ab,
418  lapack_int ldab );
420  const double *ap );
422  const double *d,
423  const double *e );
424 lapack_logical LAPACKE_dsy_nancheck( int matrix_layout, char uplo,
425  lapack_int n,
426  const double *a,
427  lapack_int lda );
428 lapack_logical LAPACKE_dtb_nancheck( int matrix_layout, char uplo, char diag,
429  lapack_int n, lapack_int kd,
430  const double* ab,
431  lapack_int ldab );
432 lapack_logical LAPACKE_dtf_nancheck( int matrix_layout, char transr,
433  char uplo, char diag,
434  lapack_int n,
435  const double *a );
436 lapack_logical LAPACKE_dtp_nancheck( int matrix_layout, char uplo, char diag,
437  lapack_int n,
438  const double *ap );
439 lapack_logical LAPACKE_dtr_nancheck( int matrix_layout, char uplo, char diag,
440  lapack_int n,
441  const double *a,
442  lapack_int lda );
443 
444 lapack_logical LAPACKE_sgb_nancheck( int matrix_layout, lapack_int m,
445  lapack_int n, lapack_int kl,
446  lapack_int ku,
447  const float *ab,
448  lapack_int ldab );
449 lapack_logical LAPACKE_sge_nancheck( int matrix_layout, lapack_int m,
450  lapack_int n,
451  const float *a,
452  lapack_int lda );
453 lapack_logical LAPACKE_sgg_nancheck( int matrix_layout, lapack_int m,
454  lapack_int n,
455  const float *a,
456  lapack_int lda );
458  const float *dl,
459  const float *d,
460  const float *du );
461 lapack_logical LAPACKE_shs_nancheck( int matrix_layout, lapack_int n,
462  const float *a,
463  lapack_int lda );
464 lapack_logical LAPACKE_spb_nancheck( int matrix_layout, char uplo,
465  lapack_int n, lapack_int kd,
466  const float* ab,
467  lapack_int ldab );
469  const float *a );
470 lapack_logical LAPACKE_spo_nancheck( int matrix_layout, char uplo,
471  lapack_int n,
472  const float *a,
473  lapack_int lda );
475  const float *ap );
477  const float *d,
478  const float *e );
479 lapack_logical LAPACKE_ssb_nancheck( int matrix_layout, char uplo,
480  lapack_int n, lapack_int kd,
481  const float* ab,
482  lapack_int ldab );
484  const float *ap );
486  const float *d,
487  const float *e );
488 lapack_logical LAPACKE_ssy_nancheck( int matrix_layout, char uplo,
489  lapack_int n,
490  const float *a,
491  lapack_int lda );
492 lapack_logical LAPACKE_stb_nancheck( int matrix_layout, char uplo, char diag,
493  lapack_int n, lapack_int kd,
494  const float* ab,
495  lapack_int ldab );
496 lapack_logical LAPACKE_stf_nancheck( int matrix_layout, char transr,
497  char uplo, char diag,
498  lapack_int n,
499  const float *a );
500 lapack_logical LAPACKE_stp_nancheck( int matrix_layout, char uplo, char diag,
501  lapack_int n,
502  const float *ap );
503 lapack_logical LAPACKE_str_nancheck( int matrix_layout, char uplo, char diag,
504  lapack_int n,
505  const float *a,
506  lapack_int lda );
507 
508 lapack_logical LAPACKE_zgb_nancheck( int matrix_layout, lapack_int m,
509  lapack_int n, lapack_int kl,
510  lapack_int ku,
511  const lapack_complex_double *ab,
512  lapack_int ldab );
513 lapack_logical LAPACKE_zge_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_zgg_nancheck( int matrix_layout, lapack_int m,
518  lapack_int n,
519  const lapack_complex_double *a,
520  lapack_int lda );
522  const lapack_complex_double *dl,
523  const lapack_complex_double *d,
524  const lapack_complex_double *du );
525 lapack_logical LAPACKE_zhb_nancheck( int matrix_layout, char uplo,
526  lapack_int n, lapack_int kd,
527  const lapack_complex_double* ab,
528  lapack_int ldab );
529 lapack_logical LAPACKE_zhe_nancheck( int matrix_layout, char uplo,
530  lapack_int n,
531  const lapack_complex_double *a,
532  lapack_int lda );
534  const lapack_complex_double *ap );
535 lapack_logical LAPACKE_zhs_nancheck( int matrix_layout, lapack_int n,
536  const lapack_complex_double *a,
537  lapack_int lda );
538 lapack_logical LAPACKE_zpb_nancheck( int matrix_layout, char uplo,
539  lapack_int n, lapack_int kd,
540  const lapack_complex_double* ab,
541  lapack_int ldab );
543  const lapack_complex_double *a );
544 lapack_logical LAPACKE_zpo_nancheck( int matrix_layout, char uplo,
545  lapack_int n,
546  const lapack_complex_double *a,
547  lapack_int lda );
549  const lapack_complex_double *ap );
551  const double *d,
552  const lapack_complex_double *e );
554  const lapack_complex_double *ap );
556  const lapack_complex_double *d,
557  const lapack_complex_double *e );
558 lapack_logical LAPACKE_zsy_nancheck( int matrix_layout, char uplo,
559  lapack_int n,
560  const lapack_complex_double *a,
561  lapack_int lda );
562 lapack_logical LAPACKE_ztb_nancheck( int matrix_layout, char uplo, char diag,
563  lapack_int n, lapack_int kd,
564  const lapack_complex_double* ab,
565  lapack_int ldab );
566 lapack_logical LAPACKE_ztf_nancheck( int matrix_layout, char transr,
567  char uplo, char diag,
568  lapack_int n,
569  const lapack_complex_double *a );
570 lapack_logical LAPACKE_ztp_nancheck( int matrix_layout, char uplo, char diag,
571  lapack_int n,
572  const lapack_complex_double *ap );
573 lapack_logical LAPACKE_ztr_nancheck( int matrix_layout, char uplo, char diag,
574  lapack_int n,
575  const lapack_complex_double *a,
576  lapack_int lda );
577 
578 #ifdef __cplusplus
579 }
580 #endif /* __cplusplus */
581 
582 #endif /* _LAPACKE_UTILS_H_ */
#define lapack_int
Definition: lapack.h:83
#define lapack_complex_double
Definition: lapack.h:63
#define lapack_complex_float
Definition: lapack.h:45
#define lapack_logical
Definition: lapack.h:87
lapack_logical LAPACKE_cpp_nancheck(lapack_int n, const lapack_complex_float *ap)
lapack_logical LAPACKE_spp_nancheck(lapack_int n, const float *ap)
lapack_logical LAPACKE_sgt_nancheck(lapack_int n, const float *dl, const float *d, const float *du)
lapack_logical LAPACKE_cgg_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_cpb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab)
lapack_logical LAPACKE_zpt_nancheck(lapack_int n, const double *d, const lapack_complex_double *e)
void LAPACKE_dgg_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_zpf_trans(int matrix_layout, char transr, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
void LAPACKE_ssb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_lsame(char ca, char cb)
Definition: lapacke_lsame.c:35
void LAPACKE_dtf_trans(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double *in, double *out)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_che_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda)
void LAPACKE_csp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
void LAPACKE_dsb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_spp_trans(int matrix_layout, char uplo, lapack_int n, const float *in, float *out)
lapack_logical LAPACKE_dsb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab)
lapack_logical LAPACKE_zhp_nancheck(lapack_int n, const lapack_complex_double *ap)
lapack_logical LAPACKE_zsy_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_stp_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const float *ap)
void LAPACKE_che_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_logical LAPACKE_spo_nancheck(int matrix_layout, char uplo, lapack_int n, const float *a, lapack_int lda)
lapack_logical LAPACKE_cgb_nancheck(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_float *ab, lapack_int ldab)
void LAPACKE_zge_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_ssb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab)
lapack_logical LAPACKE_shs_nancheck(int matrix_layout, lapack_int n, const float *a, lapack_int lda)
void LAPACKE_zgg_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
void LAPACKE_zsp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
lapack_logical LAPACKE_dgg_nancheck(int matrix_layout, lapack_int m, lapack_int n, const double *a, lapack_int lda)
lapack_logical LAPACKE_stf_nancheck(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float *a)
lapack_logical LAPACKE_dhs_nancheck(int matrix_layout, lapack_int n, const double *a, lapack_int lda)
lapack_logical LAPACKE_c_nancheck(lapack_int n, const lapack_complex_float *x, lapack_int incx)
lapack_logical LAPACKE_zge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_zhb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab)
void LAPACKE_zhe_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_dtf_nancheck(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const double *a)
void LAPACKE_shs_trans(int matrix_layout, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_d_nancheck(lapack_int n, const double *x, lapack_int incx)
void LAPACKE_zpb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
void LAPACKE_spf_trans(int matrix_layout, char transr, char uplo, lapack_int n, const float *in, float *out)
lapack_logical LAPACKE_s_nancheck(lapack_int n, const float *x, lapack_int incx)
lapack_logical LAPACKE_ctb_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab)
void LAPACKE_dpf_trans(int matrix_layout, char transr, char uplo, lapack_int n, const double *in, double *out)
lapack_logical LAPACKE_dpt_nancheck(lapack_int n, const double *d, const double *e)
void LAPACKE_stf_trans(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const float *in, float *out)
lapack_logical LAPACKE_zhe_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_zgb_nancheck(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double *ab, lapack_int ldab)
void LAPACKE_ctb_trans(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_logical LAPACKE_dsy_nancheck(int matrix_layout, char uplo, lapack_int n, const double *a, lapack_int lda)
void LAPACKE_zhp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
lapack_logical LAPACKE_ztr_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_cgt_nancheck(lapack_int n, const lapack_complex_float *dl, const lapack_complex_float *d, const lapack_complex_float *du)
void LAPACKE_dtr_trans(int matrix_layout, char uplo, char diag, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_ctp_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
void LAPACKE_ztr_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_sge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)
void LAPACKE_chs_trans(int matrix_layout, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_dtp_trans(int matrix_layout, char uplo, char diag, lapack_int n, const double *in, double *out)
void LAPACKE_cpp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
lapack_logical LAPACKE_chb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *ab, lapack_int ldab)
void LAPACKE_zpp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
void LAPACKE_spb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_cpo_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_spf_nancheck(lapack_int n, const float *a)
lapack_logical LAPACKE_dpo_nancheck(int matrix_layout, char uplo, lapack_int n, const double *a, lapack_int lda)
lapack_logical LAPACKE_dst_nancheck(lapack_int n, const double *d, const double *e)
void LAPACKE_ssp_trans(int matrix_layout, char uplo, lapack_int n, const float *in, float *out)
lapack_logical LAPACKE_ztb_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab)
void LAPACKE_csy_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_logical LAPACKE_ctp_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *ap)
lapack_logical LAPACKE_sst_nancheck(lapack_int n, const float *d, const float *e)
void LAPACKE_ssy_trans(int matrix_layout, char uplo, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_zhs_nancheck(int matrix_layout, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_chs_nancheck(int matrix_layout, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_ztp_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *ap)
void LAPACKE_cgb_trans(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_spo_trans(int matrix_layout, char uplo, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_sge_trans(int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_ctf_trans(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
lapack_logical LAPACKE_ztf_nancheck(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double *a)
void LAPACKE_dpp_trans(int matrix_layout, char uplo, lapack_int n, const double *in, double *out)
lapack_logical LAPACKE_zsp_nancheck(lapack_int n, const lapack_complex_double *ap)
lapack_logical LAPACKE_zgg_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_str_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const float *a, lapack_int lda)
lapack_logical LAPACKE_dtp_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const double *ap)
void LAPACKE_stp_trans(int matrix_layout, char uplo, char diag, lapack_int n, const float *in, float *out)
lapack_logical LAPACKE_zst_nancheck(lapack_int n, const lapack_complex_double *d, const lapack_complex_double *e)
lapack_logical LAPACKE_sgb_nancheck(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float *ab, lapack_int ldab)
lapack_logical LAPACKE_dtr_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const double *a, lapack_int lda)
void LAPACKE_zgb_trans(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
void LAPACKE_sgb_trans(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_sgg_trans(int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_dsp_trans(int matrix_layout, char uplo, lapack_int n, const double *in, double *out)
void LAPACKE_cpb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_logical LAPACKE_zpp_nancheck(lapack_int n, const lapack_complex_double *ap)
void LAPACKE_ztp_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
lapack_logical LAPACKE_dpp_nancheck(lapack_int n, const double *ap)
lapack_logical LAPACKE_sgg_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)
lapack_logical LAPACKE_csy_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_ctf_nancheck(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_float *a)
void LAPACKE_zsy_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_spb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab)
void LAPACKE_cpf_trans(int matrix_layout, char transr, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
void LAPACKE_ztf_trans(int matrix_layout, char transr, char uplo, char diag, lapack_int n, const lapack_complex_double *in, lapack_complex_double *out)
lapack_logical LAPACKE_zpo_nancheck(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *a, lapack_int lda)
lapack_logical LAPACKE_dtb_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab)
void LAPACKE_dhs_trans(int matrix_layout, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
lapack_logical LAPACKE_spt_nancheck(lapack_int n, const float *d, const float *e)
lapack_logical LAPACKE_z_nancheck(lapack_int n, const lapack_complex_double *x, lapack_int incx)
void LAPACKE_zpo_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_cge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_zgt_nancheck(lapack_int n, const lapack_complex_double *dl, const lapack_complex_double *d, const lapack_complex_double *du)
lapack_logical LAPACKE_dgt_nancheck(lapack_int n, const double *dl, const double *d, const double *du)
lapack_logical LAPACKE_cpf_nancheck(lapack_int n, const lapack_complex_float *a)
void LAPACKE_chb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_ztb_trans(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_ctr_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *a, lapack_int lda)
lapack_logical LAPACKE_dge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const double *a, lapack_int lda)
lapack_logical LAPACKE_chp_nancheck(lapack_int n, const lapack_complex_float *ap)
void LAPACKE_stb_trans(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_zpb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *ab, lapack_int ldab)
void LAPACKE_dgb_trans(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_dpb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_ctr_trans(int matrix_layout, char uplo, char diag, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_zhb_trans(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
void LAPACKE_dtb_trans(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const double *in, lapack_int ldin, double *out, lapack_int ldout)
lapack_logical LAPACKE_dgb_nancheck(int matrix_layout, lapack_int m, lapack_int n, lapack_int kl, lapack_int ku, const double *ab, lapack_int ldab)
lapack_logical LAPACKE_cst_nancheck(lapack_int n, const lapack_complex_float *d, const lapack_complex_float *e)
lapack_logical LAPACKE_ssy_nancheck(int matrix_layout, char uplo, lapack_int n, const float *a, lapack_int lda)
lapack_logical LAPACKE_dpf_nancheck(lapack_int n, const double *a)
void LAPACKE_cge_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
lapack_logical LAPACKE_cpt_nancheck(lapack_int n, const float *d, const lapack_complex_float *e)
void LAPACKE_cpo_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_cgg_trans(int matrix_layout, lapack_int m, lapack_int n, const lapack_complex_float *in, lapack_int ldin, lapack_complex_float *out, lapack_int ldout)
void LAPACKE_chp_trans(int matrix_layout, char uplo, lapack_int n, const lapack_complex_float *in, lapack_complex_float *out)
lapack_logical LAPACKE_dpb_nancheck(int matrix_layout, char uplo, lapack_int n, lapack_int kd, const double *ab, lapack_int ldab)
void LAPACKE_dge_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_dsy_trans(int matrix_layout, char uplo, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_str_trans(int matrix_layout, char uplo, char diag, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
lapack_logical LAPACKE_zpf_nancheck(lapack_int n, const lapack_complex_double *a)
lapack_logical LAPACKE_stb_nancheck(int matrix_layout, char uplo, char diag, lapack_int n, lapack_int kd, const float *ab, lapack_int ldab)
lapack_logical LAPACKE_ssp_nancheck(lapack_int n, const float *ap)
void LAPACKE_dpo_trans(int matrix_layout, char uplo, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)
void LAPACKE_zhs_trans(int matrix_layout, lapack_int n, const lapack_complex_double *in, lapack_int ldin, lapack_complex_double *out, lapack_int ldout)
lapack_logical LAPACKE_dsp_nancheck(lapack_int n, const double *ap)
lapack_logical LAPACKE_csp_nancheck(lapack_int n, const lapack_complex_float *ap)