imate
C++/CUDA Reference
Loading...
Searching...
No Matches
lapack_api.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: Copyright 2021, Siavash Ameli <sameli@berkeley.edu>
3 * SPDX-License-Identifier: BSD-3-Clause
4 * SPDX-FileType: SOURCE
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the license found in the LICENSE.txt file in the root
8 * directory of this source tree.
9 */
10
11#ifndef _C_TRACE_ESTIMATOR_LAPACK_API_H_
12#define _C_TRACE_ESTIMATOR_LAPACK_API_H_
13
14// The "CYTHON_EXTERN_C" is defined in Cython>=3.0.1 by default, and is defined
15// to "extern C++". This macro is not defined in Cython<3.0.1. However, to make
16// sure this works in lower versions of Cython, I also defined this macro in
17// setup.py in define_macro variable.
19{
20 // lapack sstev
21 void lapack_sstev(char* jobz, int* n, float* d, float* e, float* z,
22 int* ldz, float* work, int* info);
23
24 // lapack dstev
25 void lapack_dstev(char* jobz, int* n, double* d, double* e, double* z,
26 int* ldz, double* work, int* info);
27
28 // lapack sdbsdc
29 void lapack_sbdsdc(char* uplo, char* compq, int* n, float* d, float *e,
30 float* u, int* ldu, float* vt, int* ldvt, float* q,
31 int* iq, float* work, int* iwork, int* info);
32
33 // lapack dbdsdc
34 void lapack_dbdsdc(char* uplo, char* compq, int* n, double* d,
35 double *e, double* u, int* ldu, double* vt, int* ldvt,
36 double* q, int* iq, double* work, int* iwork,
37 int* info);
38}
39
40// lapack xstev (float overload)
41template <typename DataType>
42void lapack_xstev(char* jobz, int* n, DataType* d, DataType* e, DataType* z,
43 int* ldz, DataType* work, int* info);
44
45// lapack xbdsdc (float overload)
46template <typename DataType>
47void lapack_xbdsdc(char* uplo, char* compq, int* n, DataType* d, DataType *e,
48 DataType* u, int* ldu, DataType* vt, int* ldvt, DataType* q,
49 int* iq, DataType* work, int* iwork, int* info);
50
51#endif // _C_TRACE_ESTIMATOR_LAPACK_API_H_
void lapack_xbdsdc(char *uplo, char *compq, int *n, DataType *d, DataType *e, DataType *u, int *ldu, DataType *vt, int *ldvt, DataType *q, int *iq, DataType *work, int *iwork, int *info)
void lapack_sbdsdc(char *uplo, char *compq, int *n, float *d, float *e, float *u, int *ldu, float *vt, int *ldvt, float *q, int *iq, float *work, int *iwork, int *info)
void lapack_xstev(char *jobz, int *n, DataType *d, DataType *e, DataType *z, int *ldz, DataType *work, int *info)
void lapack_dstev(char *jobz, int *n, double *d, double *e, double *z, int *ldz, double *work, int *info)
void lapack_dbdsdc(char *uplo, char *compq, int *n, double *d, double *e, double *u, int *ldu, double *vt, int *ldvt, double *q, int *iq, double *work, int *iwork, int *info)
CYTHON_EXTERN_C
Definition lapack_api.h:19