PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
z_nan_check.h
Go to the documentation of this file.
1/**
2 * @file z_nan_check.h
3 *
4 * @copyright 2016-2024 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
5 * Univ. Bordeaux. All rights reserved.
6 *
7 * @brief Manage nancheck for lowrank kernels.
8 * This header describes all the LAPACKE functions used for low-rank kernels,
9 * as well as some macros to manage nancheck.
10 *
11 * @version 6.4.0
12 * @author Mathieu Faverge
13 * @author Gregoire Pichon
14 * @date 2024-07-05
15 * @generated from /builds/2mk6rsew/0/solverstack/pastix/kernels/z_nan_check.h, normal z -> z, Tue Feb 25 14:34:36 2025
16 *
17 */
18#ifndef _z_nan_check_h_
19#define _z_nan_check_h_
20
21#ifndef DOXYGEN_SHOULD_SKIP_THIS
22// #endif /* DOXYGEN_SHOULD_SKIP_THIS */
23
24#if defined(PASTIX_DEBUG_LR_NANCHECK)
25#define LAPACKE_zlacpy_work LAPACKE_zlacpy
26#define LAPACKE_zlaset_work LAPACKE_zlaset
27
28#define LAPACKE_zunmlq_work( _layout_, _side_, _trans_, _m_, _n_, _k_, _a_, _lda_, _tau_, _c_, _ldc_, _w_, _ldw_ ) \
29 LAPACKE_zunmlq( _layout_, _side_, _trans_, _m_, _n_, _k_, _a_, _lda_, _tau_, _c_, _ldc_ )
30#define LAPACKE_zunmqr_work( _layout_, _side_, _trans_, _m_, _n_, _k_, _a_, _lda_, _tau_, _c_, _ldc_, _w_, _ldw_ ) \
31 LAPACKE_zunmqr( _layout_, _side_, _trans_, _m_, _n_, _k_, _a_, _lda_, _tau_, _c_, _ldc_ )
32
33#define LAPACKE_zgeqrf_work( _layout_, _m_, _n_, _a_, _lda_, _tau_, _w_, _ldw_ ) \
34 LAPACKE_zgeqrf( _layout_, _m_, _n_, _a_, _lda_, _tau_ )
35#define LAPACKE_zgelqf_work( _layout_, _m_, _n_, _a_, _lda_, _tau_, _w_, _ldw_ ) \
36 LAPACKE_zgelqf( _layout_, _m_, _n_, _a_, _lda_, _tau_ )
37
38#if defined(PRECISION_z) || defined(PRECISION_c)
39#define MYLAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_, _rw_ ) \
40 LAPACKE_zgesvd( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, (double*)(_w_) )
41#else
42#define MYLAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_, _rw_ ) \
43 LAPACKE_zgesvd( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, (double*)(_w_) )
44#endif
45
46#else
47
48#if defined(PRECISION_z) || defined(PRECISION_c)
49#define MYLAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_, _rw_ ) \
50 LAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_, _rw_ )
51#else
52#define MYLAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_, _rw_ ) \
53 LAPACKE_zgesvd_work( _layout_, _jobu_, jobv_, _m_, _n_, _a_, _lda_, _s_, _u_, _ldu_, _v_, _ldv_, _w_, _ldw_ )
54#endif
55
56#endif /* defined(PASTIX_DEBUG_LR_NANCHECK) */
57
58#endif /* DOXYGEN_SHOULD_SKIP_THIS */
59
60#endif /* _z_nan_check_h_ */