LAPACK  3.10.0
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 
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 */
294  const lapack_complex_float *x,
295  lapack_int incx );
297  const double *x,
298  lapack_int incx );
300  const float *x,
301  lapack_int incx );
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 );
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 );
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 );
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 );
347  const lapack_complex_float *ap );
349  const float *d,
350  const lapack_complex_float *e );
352  const lapack_complex_float *ap );
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 );
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 );
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 );
407  const double *ap );
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 );
416  const double *ap );
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 );
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 );
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 );
471  const float *ap );
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 );
480  const float *ap );
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 );
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 );
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 );
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 );
545  const lapack_complex_double *ap );
547  const double *d,
548  const lapack_complex_double *e );
550  const lapack_complex_double *ap );
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_ */
#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)