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
39extern "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 */
66void LAPACKE_xerbla( const char *name, lapack_int info );
67
68/* Compare two chars (case-insensitive) */
69lapack_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. */
76void 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 );
80void 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 );
83void 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 );
86void 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 );
90void 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 );
93void LAPACKE_chp_trans( int matrix_layout, char uplo, lapack_int n,
94 const lapack_complex_float *in,
95 lapack_complex_float *out );
96void 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 );
99void 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 );
103void LAPACKE_cpf_trans( int matrix_layout, char transr, char uplo,
104 lapack_int n, const lapack_complex_float *in,
105 lapack_complex_float *out );
106void 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 );
109void LAPACKE_cpp_trans( int matrix_layout, char uplo, lapack_int n,
110 const lapack_complex_float *in,
111 lapack_complex_float *out );
112void LAPACKE_csp_trans( int matrix_layout, char uplo, lapack_int n,
113 const lapack_complex_float *in,
114 lapack_complex_float *out );
115void 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 );
118void 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 );
122void 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 );
125void LAPACKE_ctp_trans( int matrix_layout, char uplo, char diag,
126 lapack_int n, const lapack_complex_float *in,
127 lapack_complex_float *out );
128void 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 );
131void 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
136void 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 );
140void 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 );
143void 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 );
146void LAPACKE_dhs_trans( int matrix_layout, lapack_int n,
147 const double *in, lapack_int ldin,
148 double *out, lapack_int ldout );
149void 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 );
153void LAPACKE_dpf_trans( int matrix_layout, char transr, char uplo,
154 lapack_int n, const double *in,
155 double *out );
156void LAPACKE_dpo_trans( int matrix_layout, char uplo, lapack_int n,
157 const double *in, lapack_int ldin,
158 double *out, lapack_int ldout );
159void LAPACKE_dpp_trans( int matrix_layout, char uplo, lapack_int n,
160 const double *in,
161 double *out );
162void 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 );
166void LAPACKE_dsp_trans( int matrix_layout, char uplo, lapack_int n,
167 const double *in,
168 double *out );
169void LAPACKE_dsy_trans( int matrix_layout, char uplo, lapack_int n,
170 const double *in, lapack_int ldin,
171 double *out, lapack_int ldout );
172void 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 );
176void LAPACKE_dtf_trans( int matrix_layout, char transr, char uplo, char diag,
177 lapack_int n, const double *in,
178 double *out );
179void LAPACKE_dtp_trans( int matrix_layout, char uplo, char diag,
180 lapack_int n, const double *in,
181 double *out );
182void 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 );
185void 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
190void 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 );
194void 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 );
197void 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 );
200void LAPACKE_shs_trans( int matrix_layout, lapack_int n,
201 const float *in, lapack_int ldin,
202 float *out, lapack_int ldout );
203void 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 );
207void LAPACKE_spf_trans( int matrix_layout, char transr, char uplo,
208 lapack_int n, const float *in,
209 float *out );
210void LAPACKE_spo_trans( int matrix_layout, char uplo, lapack_int n,
211 const float *in, lapack_int ldin,
212 float *out, lapack_int ldout );
213void LAPACKE_spp_trans( int matrix_layout, char uplo, lapack_int n,
214 const float *in,
215 float *out );
216void 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 );
220void LAPACKE_ssp_trans( int matrix_layout, char uplo, lapack_int n,
221 const float *in,
222 float *out );
223void LAPACKE_ssy_trans( int matrix_layout, char uplo, lapack_int n,
224 const float *in, lapack_int ldin,
225 float *out, lapack_int ldout );
226void 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 );
230void LAPACKE_stf_trans( int matrix_layout, char transr, char uplo, char diag,
231 lapack_int n, const float *in,
232 float *out );
233void LAPACKE_stp_trans( int matrix_layout, char uplo, char diag,
234 lapack_int n, const float *in,
235 float *out );
236void 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 );
239void 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
244void 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 );
248void 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 );
251void 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 );
254void 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 );
258void 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 );
261void LAPACKE_zhp_trans( int matrix_layout, char uplo, lapack_int n,
262 const lapack_complex_double *in,
263 lapack_complex_double *out );
264void 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 );
267void 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 );
271void LAPACKE_zpf_trans( int matrix_layout, char transr, char uplo,
272 lapack_int n, const lapack_complex_double *in,
273 lapack_complex_double *out );
274void 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 );
277void LAPACKE_zpp_trans( int matrix_layout, char uplo, lapack_int n,
278 const lapack_complex_double *in,
279 lapack_complex_double *out );
280void LAPACKE_zsp_trans( int matrix_layout, char uplo, lapack_int n,
281 const lapack_complex_double *in,
282 lapack_complex_double *out );
283void 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 );
286void 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 );
290void 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 );
293void LAPACKE_ztp_trans( int matrix_layout, char uplo, char diag,
294 lapack_int n, const lapack_complex_double *in,
295 lapack_complex_double *out );
296void 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 );
299void 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 */
313lapack_logical LAPACKE_c_nancheck( lapack_int n,
314 const lapack_complex_float *x,
315 lapack_int incx );
316lapack_logical LAPACKE_d_nancheck( lapack_int n,
317 const double *x,
318 lapack_int incx );
319lapack_logical LAPACKE_s_nancheck( lapack_int n,
320 const float *x,
321 lapack_int incx );
322lapack_logical LAPACKE_z_nancheck( lapack_int n,
323 const lapack_complex_double *x,
324 lapack_int incx );
325/* NaN checkers for matrices */
326lapack_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 );
331lapack_logical LAPACKE_cge_nancheck( int matrix_layout, lapack_int m,
332 lapack_int n,
333 const lapack_complex_float *a,
334 lapack_int lda );
335lapack_logical LAPACKE_cgg_nancheck( int matrix_layout, lapack_int m,
336 lapack_int n,
337 const lapack_complex_float *a,
338 lapack_int lda );
339lapack_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 );
343lapack_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 );
347lapack_logical LAPACKE_che_nancheck( int matrix_layout, char uplo,
348 lapack_int n,
349 const lapack_complex_float *a,
350 lapack_int lda );
351lapack_logical LAPACKE_chp_nancheck( lapack_int n,
352 const lapack_complex_float *ap );
353lapack_logical LAPACKE_chs_nancheck( int matrix_layout, lapack_int n,
354 const lapack_complex_float *a,
355 lapack_int lda );
356lapack_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 );
360lapack_logical LAPACKE_cpf_nancheck( lapack_int n,
361 const lapack_complex_float *a );
362lapack_logical LAPACKE_cpo_nancheck( int matrix_layout, char uplo,
363 lapack_int n,
364 const lapack_complex_float *a,
365 lapack_int lda );
366lapack_logical LAPACKE_cpp_nancheck( lapack_int n,
367 const lapack_complex_float *ap );
368lapack_logical LAPACKE_cpt_nancheck( lapack_int n,
369 const float *d,
370 const lapack_complex_float *e );
371lapack_logical LAPACKE_csp_nancheck( lapack_int n,
372 const lapack_complex_float *ap );
373lapack_logical LAPACKE_cst_nancheck( lapack_int n,
374 const lapack_complex_float *d,
375 const lapack_complex_float *e );
376lapack_logical LAPACKE_csy_nancheck( int matrix_layout, char uplo,
377 lapack_int n,
378 const lapack_complex_float *a,
379 lapack_int lda );
380lapack_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 );
384lapack_logical LAPACKE_ctf_nancheck( int matrix_layout, char transr,
385 char uplo, char diag,
386 lapack_int n,
387 const lapack_complex_float *a );
388lapack_logical LAPACKE_ctp_nancheck( int matrix_layout, char uplo, char diag,
389 lapack_int n,
390 const lapack_complex_float *ap );
391lapack_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 );
395lapack_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
400lapack_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 );
405lapack_logical LAPACKE_dge_nancheck( int matrix_layout, lapack_int m,
406 lapack_int n,
407 const double *a,
408 lapack_int lda );
409lapack_logical LAPACKE_dgg_nancheck( int matrix_layout, lapack_int m,
410 lapack_int n,
411 const double *a,
412 lapack_int lda );
413lapack_logical LAPACKE_dgt_nancheck( lapack_int n,
414 const double *dl,
415 const double *d,
416 const double *du );
417lapack_logical LAPACKE_dhs_nancheck( int matrix_layout, lapack_int n,
418 const double *a,
419 lapack_int lda );
420lapack_logical LAPACKE_dpb_nancheck( int matrix_layout, char uplo,
421 lapack_int n, lapack_int kd,
422 const double* ab,
423 lapack_int ldab );
424lapack_logical LAPACKE_dpf_nancheck( lapack_int n,
425 const double *a );
426lapack_logical LAPACKE_dpo_nancheck( int matrix_layout, char uplo,
427 lapack_int n,
428 const double *a,
429 lapack_int lda );
430lapack_logical LAPACKE_dpp_nancheck( lapack_int n,
431 const double *ap );
432lapack_logical LAPACKE_dpt_nancheck( lapack_int n,
433 const double *d,
434 const double *e );
435lapack_logical LAPACKE_dsb_nancheck( int matrix_layout, char uplo,
436 lapack_int n, lapack_int kd,
437 const double* ab,
438 lapack_int ldab );
439lapack_logical LAPACKE_dsp_nancheck( lapack_int n,
440 const double *ap );
441lapack_logical LAPACKE_dst_nancheck( lapack_int n,
442 const double *d,
443 const double *e );
444lapack_logical LAPACKE_dsy_nancheck( int matrix_layout, char uplo,
445 lapack_int n,
446 const double *a,
447 lapack_int lda );
448lapack_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 );
452lapack_logical LAPACKE_dtf_nancheck( int matrix_layout, char transr,
453 char uplo, char diag,
454 lapack_int n,
455 const double *a );
456lapack_logical LAPACKE_dtp_nancheck( int matrix_layout, char uplo, char diag,
457 lapack_int n,
458 const double *ap );
459lapack_logical LAPACKE_dtr_nancheck( int matrix_layout, char uplo, char diag,
460 lapack_int n,
461 const double *a,
462 lapack_int lda );
463lapack_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
467lapack_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 );
472lapack_logical LAPACKE_sge_nancheck( int matrix_layout, lapack_int m,
473 lapack_int n,
474 const float *a,
475 lapack_int lda );
476lapack_logical LAPACKE_sgg_nancheck( int matrix_layout, lapack_int m,
477 lapack_int n,
478 const float *a,
479 lapack_int lda );
480lapack_logical LAPACKE_sgt_nancheck( lapack_int n,
481 const float *dl,
482 const float *d,
483 const float *du );
484lapack_logical LAPACKE_shs_nancheck( int matrix_layout, lapack_int n,
485 const float *a,
486 lapack_int lda );
487lapack_logical LAPACKE_spb_nancheck( int matrix_layout, char uplo,
488 lapack_int n, lapack_int kd,
489 const float* ab,
490 lapack_int ldab );
491lapack_logical LAPACKE_spf_nancheck( lapack_int n,
492 const float *a );
493lapack_logical LAPACKE_spo_nancheck( int matrix_layout, char uplo,
494 lapack_int n,
495 const float *a,
496 lapack_int lda );
497lapack_logical LAPACKE_spp_nancheck( lapack_int n,
498 const float *ap );
499lapack_logical LAPACKE_spt_nancheck( lapack_int n,
500 const float *d,
501 const float *e );
502lapack_logical LAPACKE_ssb_nancheck( int matrix_layout, char uplo,
503 lapack_int n, lapack_int kd,
504 const float* ab,
505 lapack_int ldab );
506lapack_logical LAPACKE_ssp_nancheck( lapack_int n,
507 const float *ap );
508lapack_logical LAPACKE_sst_nancheck( lapack_int n,
509 const float *d,
510 const float *e );
511lapack_logical LAPACKE_ssy_nancheck( int matrix_layout, char uplo,
512 lapack_int n,
513 const float *a,
514 lapack_int lda );
515lapack_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 );
519lapack_logical LAPACKE_stf_nancheck( int matrix_layout, char transr,
520 char uplo, char diag,
521 lapack_int n,
522 const float *a );
523lapack_logical LAPACKE_stp_nancheck( int matrix_layout, char uplo, char diag,
524 lapack_int n,
525 const float *ap );
526lapack_logical LAPACKE_str_nancheck( int matrix_layout, char uplo, char diag,
527 lapack_int n,
528 const float *a,
529 lapack_int lda );
530lapack_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
534lapack_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 );
539lapack_logical LAPACKE_zge_nancheck( int matrix_layout, lapack_int m,
540 lapack_int n,
541 const lapack_complex_double *a,
542 lapack_int lda );
543lapack_logical LAPACKE_zgg_nancheck( int matrix_layout, lapack_int m,
544 lapack_int n,
545 const lapack_complex_double *a,
546 lapack_int lda );
547lapack_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 );
551lapack_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 );
555lapack_logical LAPACKE_zhe_nancheck( int matrix_layout, char uplo,
556 lapack_int n,
557 const lapack_complex_double *a,
558 lapack_int lda );
559lapack_logical LAPACKE_zhp_nancheck( lapack_int n,
560 const lapack_complex_double *ap );
561lapack_logical LAPACKE_zhs_nancheck( int matrix_layout, lapack_int n,
562 const lapack_complex_double *a,
563 lapack_int lda );
564lapack_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 );
568lapack_logical LAPACKE_zpf_nancheck( lapack_int n,
569 const lapack_complex_double *a );
570lapack_logical LAPACKE_zpo_nancheck( int matrix_layout, char uplo,
571 lapack_int n,
572 const lapack_complex_double *a,
573 lapack_int lda );
574lapack_logical LAPACKE_zpp_nancheck( lapack_int n,
575 const lapack_complex_double *ap );
576lapack_logical LAPACKE_zpt_nancheck( lapack_int n,
577 const double *d,
578 const lapack_complex_double *e );
579lapack_logical LAPACKE_zsp_nancheck( lapack_int n,
580 const lapack_complex_double *ap );
581lapack_logical LAPACKE_zst_nancheck( lapack_int n,
582 const lapack_complex_double *d,
583 const lapack_complex_double *e );
584lapack_logical LAPACKE_zsy_nancheck( int matrix_layout, char uplo,
585 lapack_int n,
586 const lapack_complex_double *a,
587 lapack_int lda );
588lapack_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 );
592lapack_logical LAPACKE_ztf_nancheck( int matrix_layout, char transr,
593 char uplo, char diag,
594 lapack_int n,
595 const lapack_complex_double *a );
596lapack_logical LAPACKE_ztp_nancheck( int matrix_layout, char uplo, char diag,
597 lapack_int n,
598 const lapack_complex_double *ap );
599lapack_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 );
603lapack_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_ */