timing_zauxiliary.h 3.11 KB
Newer Older
1
/**
2 3
 *
 * @file timing_zauxiliary.h
4
 *
Mathieu Faverge's avatar
Mathieu Faverge committed
5 6
 * @copyright 2009-2014 The University of Tennessee and The University of
 *                      Tennessee Research Foundation. All rights reserved.
PRUVOST Florent's avatar
PRUVOST Florent committed
7
 * @copyright 2012-2019 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
8
 *                      Univ. Bordeaux. All rights reserved.
9
 *
Mathieu Faverge's avatar
Mathieu Faverge committed
10
 ***
11
 *
PRUVOST Florent's avatar
PRUVOST Florent committed
12 13 14
 * @version 0.9.2
 * @author Mathieu Faverge
 * @date 2015-03-24
15 16
 * @precisions normal z -> c d s
 *
17
 */
PRUVOST Florent's avatar
PRUVOST Florent committed
18 19
#ifndef _timing_zauxiliary_h_
#define _timing_zauxiliary_h_
20

Mathieu Faverge's avatar
Mathieu Faverge committed
21 22 23 24 25 26
int    z_check_orthogonality   (int M, int N, int LDQ, CHAMELEON_Complex64_t *Q);
int    z_check_QRfactorization (int M, int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, CHAMELEON_Complex64_t *Q);
int    z_check_LLTfactorization(int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2, int LDA, cham_uplo_t uplo);
double z_check_gemm(cham_trans_t transA, cham_trans_t transB, int M, int N, int K,
                   CHAMELEON_Complex64_t alpha, CHAMELEON_Complex64_t *A, int LDA,
                   CHAMELEON_Complex64_t *B, int LDB,
Mathieu Faverge's avatar
Mathieu Faverge committed
27
                   CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t *Ccham,
Mathieu Faverge's avatar
Mathieu Faverge committed
28
                   CHAMELEON_Complex64_t *Cref, int LDC,
Mathieu Faverge's avatar
Mathieu Faverge committed
29
                   double *Cinitnorm, double *Cchamnorm, double *Clapacknorm );
30

Mathieu Faverge's avatar
Mathieu Faverge committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#if defined(PRECISION_z) || defined(PRECISION_c)
double z_check_hemm( cham_side_t side, cham_uplo_t uplo, int M, int N,
                     CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA,
                                                  const CHAMELEON_Complex64_t *B, int LDB,
                     CHAMELEON_Complex64_t beta,  const CHAMELEON_Complex64_t *Ccham,
                                                        CHAMELEON_Complex64_t *Cref, int LDC,
                     double *Cinitnorm, double *Cchamnorm, double *Clapacknorm );
#endif
double z_check_symm( cham_side_t side, cham_uplo_t uplo, int M, int N,
                     CHAMELEON_Complex64_t alpha, const CHAMELEON_Complex64_t *A, int LDA,
                                                  const CHAMELEON_Complex64_t *B, int LDB,
                     CHAMELEON_Complex64_t beta,  const CHAMELEON_Complex64_t *Ccham,
                                                        CHAMELEON_Complex64_t *Cref, int LDC,
                     double *Cinitnorm, double *Cchamnorm, double *Clapacknorm );

Mathieu Faverge's avatar
Mathieu Faverge committed
46 47 48
double z_check_trsm(cham_side_t side, cham_uplo_t uplo, cham_trans_t trans, cham_diag_t diag,
           int M, int NRHS, CHAMELEON_Complex64_t alpha,
           CHAMELEON_Complex64_t *A, int LDA,
Mathieu Faverge's avatar
Mathieu Faverge committed
49 50
           CHAMELEON_Complex64_t *Bcham, CHAMELEON_Complex64_t *Bref, int LDB,
           double *Binitnorm, double *Bchamnorm, double *Blapacknorm );
51 52

double z_check_solution(int M, int N, int NRHS,
Mathieu Faverge's avatar
Mathieu Faverge committed
53 54
                      CHAMELEON_Complex64_t *A1, int LDA,
                      CHAMELEON_Complex64_t *B1, CHAMELEON_Complex64_t *B2, int LDB,
55 56
                      double *anorm, double *bnorm, double *xnorm);

Mathieu Faverge's avatar
Mathieu Faverge committed
57 58
int z_check_inverse( int N, CHAMELEON_Complex64_t *A1, CHAMELEON_Complex64_t *A2,
                     int LDA, cham_uplo_t uplo, double *rnorm, double *anorm, double *ainvnorm );
59 60


PRUVOST Florent's avatar
PRUVOST Florent committed
61
#endif /* _timing_zauxiliary_h_ */