3 #define double_complex std::complex<double>
4 #define float_complex std::complex<float>
7 #define double_complex double complex
8 #define float_complex float complex
200 void elpa_hermitian_multiply_a_h_a_d(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
double *a,
double *b,
int nrows_b,
int ncols_b,
double *c,
int nrows_c,
int ncols_c,
int *error);
201 void elpa_hermitian_multiply_a_h_a_f(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
float *a,
float *b,
int nrows_b,
int ncols_b,
float *c,
int nrows_c,
int ncols_c,
int *error);
202 void elpa_hermitian_multiply_a_h_a_dc(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
double_complex *a,
double_complex *b,
int nrows_b,
int ncols_b,
double_complex *c,
int nrows_c,
int ncols_c,
int *error);
203 void elpa_hermitian_multiply_a_h_a_fc(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
float_complex *a,
float_complex *b,
int nrows_b,
int ncols_b,
float_complex *c,
int nrows_c,
int ncols_c,
int *error);
204 void elpa_hermitian_multiply_d_ptr_d(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
double *a,
double *b,
int nrows_b,
int ncols_b,
double *c,
int nrows_c,
int ncols_c,
int *error);
205 void elpa_hermitian_multiply_d_ptr_f(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
float *a,
float *b,
int nrows_b,
int ncols_b,
float *c,
int nrows_c,
int ncols_c,
int *error);
206 void elpa_hermitian_multiply_d_ptr_dc(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
double_complex *a,
double_complex *b,
int nrows_b,
int ncols_b,
double_complex *c,
int nrows_c,
int ncols_c,
int *error);
207 void elpa_hermitian_multiply_d_ptr_fc(
elpa_t handle,
char uplo_a,
char uplo_c,
int ncb,
float_complex *a,
float_complex *b,
int nrows_b,
int ncols_b,
float_complex *c,
int nrows_c,
int ncols_c,
int *error);
235 #ifdef HAVE_SKEWSYMMETRIC
236 void elpa_skew_eigenvectors_a_h_a_d(
elpa_t handle,
double *a,
double *ev,
double *q,
int *error);
238 #ifdef HAVE_SKEWSYMMETRIC
239 void elpa_skew_eigenvectors_a_h_a_f(
elpa_t handle,
float *a,
float *ev,
float *q,
int *error);
241 #ifdef HAVE_SKEWSYMMETRIC
242 void elpa_skew_eigenvectors_d_ptr_d(
elpa_t handle,
double *a,
double *ev,
double *q,
int *error);
244 #ifdef HAVE_SKEWSYMMETRIC
245 void elpa_skew_eigenvectors_d_ptr_f(
elpa_t handle,
float *a,
float *ev,
float *q,
int *error);
255 #ifdef HAVE_SKEWSYMMETRIC
256 void elpa_skew_eigenvalues_a_h_a_d(
elpa_t handle,
double *a,
double *ev,
int *error);
258 #ifdef HAVE_SKEWSYMMETRIC
259 void elpa_skew_eigenvalues_a_h_a_f(
elpa_t handle,
float *a,
float *ev,
int *error);
261 #ifdef HAVE_SKEWSYMMETRIC
262 void elpa_skew_eigenvalues_d_ptr_d(
elpa_t handle,
double *a,
double *ev,
int *error);
264 #ifdef HAVE_SKEWSYMMETRIC
265 void elpa_skew_eigenvalues_d_ptr_f(
elpa_t handle,
float *a,
float *ev,
int *error);
269 int is_already_decomposed,
int *error);
271 int is_already_decomposed,
int *error);
273 int is_already_decomposed,
int *error);
275 int is_already_decomposed,
int *error);
277 int is_already_decomposed,
int *error);
279 int is_already_decomposed,
int *error);
281 int is_already_decomposed,
int *error);
283 int is_already_decomposed,
int *error);
287 #if OPTIONAL_C_ERROR_ARGUMENT == 1
288 #define elpa_allocate(...) CONC(elpa_allocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
290 #if OPTIONAL_C_ERROR_ARGUMENT == 1
291 #if OPTIONAL_C_ERROR_ARGUMENT == 1
292 #define NARGS(...) NARGS_(5, ##__VA_ARGS__, 4, 3, 2, 1, 0)
293 #define NARGS_(_5, _4, _3, _2, _1, N, ...) N
294 #define CONC(A, B) CONC_(A, B)
295 #define CONC_(A, B) A##B
296 elpa_t elpa_allocate1(
int *error);
299 #define elpa_deallocate(...) CONC(elpa_deallocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
301 #if OPTIONAL_C_ERROR_ARGUMENT == 1
302 void elpa_deallocate2(
elpa_t handle,
int *error);
303 void elpa_deallocate1(
elpa_t handle);
305 #if OPTIONAL_C_ERROR_ARGUMENT == 1
306 #define elpa_autotune_deallocate(...) CONC(elpa_autotune_deallocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
308 #if OPTIONAL_C_ERROR_ARGUMENT == 1
313 #if OPTIONAL_C_ERROR_ARGUMENT == 1
314 #define elpa_uninit(...) CONC(elpa_uninit, NARGS(__VA_ARGS__))(__VA_ARGS__)
316 #if OPTIONAL_C_ERROR_ARGUMENT == 1
317 void elpa_uninit1(
int *error);
321 #if OPTIONAL_C_ERROR_ARGUMENT != 1
324 #if OPTIONAL_C_ERROR_ARGUMENT != 1
327 #if OPTIONAL_C_ERROR_ARGUMENT != 1
331 #if OPTIONAL_C_ERROR_ARGUMENT != 1
struct elpa_struct * elpa_t
Definition elpa.h:10
struct elpa_autotune_struct * elpa_autotune_t
Definition elpa.h:13
void elpa_set_integer(elpa_t handle, const char *name, int value, int *error)
C interface for the implementation of the elpa_set_integer method This method is available to the use...
void elpa_set_float(elpa_t handle, const char *name, float value, int *error)
C interface for the implementation of the elpa_set_float method This method is available to the user ...
void elpa_autotune_print_state(elpa_t handle, elpa_autotune_t autotune_handle, int *error)
C interface for the implementation of the elpa_autotune_print_state method.
void elpa_cholesky_d_ptr_fc(elpa_t handle, float complex *a, int *error)
void elpa_invert_trm_a_h_a_dc(elpa_t handle, double complex *a, int *error)
void elpa_hermitian_multiply_a_h_a_fc(elpa_t handle, char uplo_a, char uplo_c, int ncb, float complex *a, float complex *b, int nrows_b, int ncols_b, float complex *c, int nrows_c, int ncols_c, int *error)
void elpa_hermitian_multiply_d_ptr_f(elpa_t handle, char uplo_a, char uplo_c, int ncb, float *a, float *b, int nrows_b, int ncols_b, float *c, int nrows_c, int ncols_c, int *error)
void elpa_get_integer(elpa_t handle, const char *name, int *value, int *error)
C interface for the implementation of the elpa_get_integer method This method is available to the use...
void elpa_eigenvalues_a_h_a_fc(elpa_t handle, float complex *a, float *ev, int *error)
void elpa_cholesky_a_h_a_d(elpa_t handle, double *a, int *error)
int elpa_setup(elpa_t handle)
C interface for the implementation of the elpa_setup method.
void elpa_eigenvectors_a_h_a_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error)
void elpa_eigenvectors_a_h_a_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error)
void elpa_uninit(int *error)
void elpa_generalized_eigenvectors_f(elpa_t handle, float *a, float *b, float *ev, float *q, int is_already_decomposed, int *error)
void elpa_eigenvalues_d_ptr_f(elpa_t handle, float *a, float *ev, int *error)
void elpa_print_settings(elpa_t handle, int *error)
C interface for the implementation of the elpa_print_settings method.
void elpa_cholesky_d_ptr_f(elpa_t handle, float *a, int *error)
void elpa_deallocate(elpa_t handle, int *error)
int elpa_init(int api_version)
void elpa_generalized_eigenvectors_fc(elpa_t handle, float complex *a, float complex *b, float *ev, float complex *q, int is_already_decomposed, int *error)
void elpa_eigenvalues_d_ptr_d(elpa_t handle, double *a, double *ev, int *error)
void elpa_load_settings(elpa_t handle, const char *filename, int *error)
C interface for the implementation of the elpa_allocate method.
void elpa_generalized_eigenvectors_dc(elpa_t handle, double complex *a, double complex *b, double *ev, double complex *q, int is_already_decomposed, int *error)
void elpa_invert_trm_d_ptr_f(elpa_t handle, float *a, int *error)
void elpa_cholesky_d_ptr_dc(elpa_t handle, double complex *a, int *error)
void elpa_autotune_print_best(elpa_t handle, elpa_autotune_t autotune_handle, int *error)
C interface for the implementation of the elpa_autotune_print_best method.
void elpa_eigenvalues_d_ptr_fc(elpa_t handle, float complex *a, float *ev, int *error)
void elpa_hermitian_multiply_d_ptr_dc(elpa_t handle, char uplo_a, char uplo_c, int ncb, double complex *a, double complex *b, int nrows_b, int ncols_b, double complex *c, int nrows_c, int ncols_c, int *error)
void elpa_eigenvalues_d_ptr_dc(elpa_t handle, double complex *a, double *ev, int *error)
void elpa_invert_trm_a_h_a_d(elpa_t handle, double *a, int *error)
void elpa_generalized_eigenvalues_d(elpa_t handle, double *a, double *b, double *ev, int is_already_decomposed, int *error)
void elpa_timer_start(elpa_t handle, char *name)
C interface for the implementation of the elpa_timer_start method.
void elpa_generalized_eigenvalues_f(elpa_t handle, float *a, float *b, float *ev, int is_already_decomposed, int *error)
void elpa_autotune_set_best(elpa_t handle, elpa_autotune_t autotune_handle, int *error)
C interface for the implementation of the elpa_autotune_set_best method.
void elpa_hermitian_multiply_a_h_a_d(elpa_t handle, char uplo_a, char uplo_c, int ncb, double *a, double *b, int nrows_b, int ncols_b, double *c, int nrows_c, int ncols_c, int *error)
void elpa_autotune_set_api_version(elpa_t handle, int api_version, int *error)
C interface for the implementation of the elpa_autotune_set_api_version method.
void elpa_eigenvectors_a_h_a_d(elpa_t handle, double *a, double *ev, double *q, int *error)
void elpa_invert_trm_d_ptr_dc(elpa_t handle, double complex *a, int *error)
void elpa_eigenvalues_a_h_a_f(elpa_t handle, float *a, float *ev, int *error)
void elpa_hermitian_multiply_a_h_a_f(elpa_t handle, char uplo_a, char uplo_c, int ncb, float *a, float *b, int nrows_b, int ncols_b, float *c, int nrows_c, int ncols_c, int *error)
void elpa_eigenvectors_d_ptr_f(elpa_t handle, float *a, float *ev, float *q, int *error)
void elpa_cholesky_a_h_a_f(elpa_t handle, float *a, int *error)
void elpa_eigenvectors_d_ptr_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error)
void elpa_eigenvectors_d_ptr_d(elpa_t handle, double *a, double *ev, double *q, int *error)
void elpa_generalized_eigenvalues_fc(elpa_t handle, float complex *a, float complex *b, float *ev, int is_already_decomposed, int *error)
void elpa_solve_tridiagonal_d(elpa_t handle, double *d, double *e, double *q, int *error)
void elpa_timer_stop(elpa_t handle, char *name)
C interface for the implementation of the elpa_timer_stop method.
#define float_complex
Definition elpa_generated.h:8
void elpa_cholesky_a_h_a_fc(elpa_t handle, float complex *a, int *error)
void elpa_autotune_load_state(elpa_t handle, elpa_autotune_t autotune_handle, const char *filename, int *error)
C interface for the implementation of the elpa_autotune_load_state method.
void elpa_print_times(elpa_t handle, char *name1)
C interface for the implementation of the elpa_print_times method.
int elpa_autotune_step(elpa_t handle, elpa_autotune_t autotune_handle, int *error)
C interface for the implementation of the elpa_autotune_step method.
void elpa_generalized_eigenvalues_dc(elpa_t handle, double complex *a, double complex *b, double *ev, int is_already_decomposed, int *error)
void elpa_invert_trm_a_h_a_f(elpa_t handle, float *a, int *error)
elpa_autotune_t elpa_autotune_setup(elpa_t handle, int level, int domain, int *error)
C interface for the implementation of the elpa_autotune_setup method.
void elpa_invert_trm_d_ptr_d(elpa_t handle, double *a, int *error)
void elpa_eigenvectors_a_h_a_f(elpa_t handle, float *a, float *ev, float *q, int *error)
void elpa_autotune_save_state(elpa_t handle, elpa_autotune_t autotune_handle, const char *filename, int *error)
C interface for the implementation of the elpa_autotune_save_state method.
void elpa_eigenvalues_a_h_a_dc(elpa_t handle, double complex *a, double *ev, int *error)
void elpa_cholesky_d_ptr_d(elpa_t handle, double *a, int *error)
void elpa_cholesky_a_h_a_dc(elpa_t handle, double complex *a, int *error)
void elpa_invert_trm_d_ptr_fc(elpa_t handle, float complex *a, int *error)
void elpa_hermitian_multiply_d_ptr_d(elpa_t handle, char uplo_a, char uplo_c, int ncb, double *a, double *b, int nrows_b, int ncols_b, double *c, int nrows_c, int ncols_c, int *error)
void elpa_hermitian_multiply_a_h_a_dc(elpa_t handle, char uplo_a, char uplo_c, int ncb, double complex *a, double complex *b, int nrows_b, int ncols_b, double complex *c, int nrows_c, int ncols_c, int *error)
void elpa_invert_trm_a_h_a_fc(elpa_t handle, float complex *a, int *error)
void elpa_eigenvectors_d_ptr_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error)
void elpa_store_settings(elpa_t handle, const char *filename, int *error)
C interface for the implementation of the elpa_store_settings method.
void elpa_set_double(elpa_t handle, const char *name, double value, int *error)
C interface for the implementation of the elpa_set_double method This method is available to the user...
void elpa_eigenvalues_a_h_a_d(elpa_t handle, double *a, double *ev, int *error)
void elpa_get_double(elpa_t handle, const char *name, double *value, int *error)
C interface for the implementation of the elpa_get_double method This method is available to the user...
int elpa_setup_gpu(elpa_t handle)
C interface for the implementation of the elpa_autotune_deallocate method.
void elpa_get_float(elpa_t handle, const char *name, float *value, int *error)
C interface for the implementation of the elpa_get_float method This method is available to the user ...
elpa_t elpa_allocate(int *error)
void elpa_generalized_eigenvectors_d(elpa_t handle, double *a, double *b, double *ev, double *q, int is_already_decomposed, int *error)
void elpa_hermitian_multiply_d_ptr_fc(elpa_t handle, char uplo_a, char uplo_c, int ncb, float complex *a, float complex *b, int nrows_b, int ncols_b, float complex *c, int nrows_c, int ncols_c, int *error)
void elpa_autotune_deallocate(elpa_autotune_t handle, int *error)
void elpa_solve_tridiagonal_f(elpa_t handle, float *d, float *e, float *q, int *error)
#define double_complex
Definition elpa_generated.h:7