Eigenvalue SoLvers for Petaflop-Applications (ELPA) 2024.03.001
Loading...
Searching...
No Matches
elpa_generated.h
Go to the documentation of this file.
1 // /src/elpa_impl.F90
2 #ifdef __cplusplus
3 #define double_complex std::complex<double>
4 #define float_complex std::complex<float>
5 extern "C" {
6 #else
7 #define double_complex double complex
8 #define float_complex float complex
9 #endif
26 void elpa_load_settings(elpa_t handle, const char *filename, int *error);
32 void elpa_print_settings(elpa_t handle, int *error);
38 void elpa_store_settings(elpa_t handle, const char *filename, int *error);
50 #include <stdint.h>
58 int elpa_setup(elpa_t handle);
68 void elpa_set_integer(elpa_t handle, const char *name, int value, int *error);
78 void elpa_get_integer(elpa_t handle, const char *name, int *value, int *error);
88 void elpa_set_float(elpa_t handle, const char *name, float value, int *error);
98 void elpa_get_float(elpa_t handle, const char *name, float *value, int *error);
108 void elpa_set_double(elpa_t handle, const char *name, double value, int *error);
118 void elpa_get_double(elpa_t handle, const char *name, double *value, int *error);
124 void elpa_print_times(elpa_t handle, char* name1);
130 void elpa_timer_start(elpa_t handle, char* name);
136 void elpa_timer_stop(elpa_t handle, char* name);
142 void elpa_autotune_set_api_version(elpa_t handle, int api_version, int *error);
150 elpa_autotune_t elpa_autotune_setup(elpa_t handle, int level, int domain, int *error);
158 int elpa_autotune_step(elpa_t handle, elpa_autotune_t autotune_handle, int *error);
166 void elpa_autotune_print_state(elpa_t handle, elpa_autotune_t autotune_handle, int *error);
174 void elpa_autotune_save_state(elpa_t handle, elpa_autotune_t autotune_handle, const char *filename, int *error);
182 void elpa_autotune_load_state(elpa_t handle, elpa_autotune_t autotune_handle, const char *filename, int *error);
190 void elpa_autotune_set_best(elpa_t handle, elpa_autotune_t autotune_handle, int *error);
198 void elpa_autotune_print_best(elpa_t handle, elpa_autotune_t autotune_handle, int *error);
199 // /src/elpa_impl_math_template.F90
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);
208 void elpa_cholesky_a_h_a_d(elpa_t handle, double *a, int *error);
209 void elpa_cholesky_a_h_a_f(elpa_t handle, float *a, int *error);
210 void elpa_cholesky_a_h_a_dc(elpa_t handle, double_complex *a, int *error);
211 void elpa_cholesky_a_h_a_fc(elpa_t handle, float_complex *a, int *error);
212 void elpa_cholesky_d_ptr_d(elpa_t handle, double *a, int *error);
213 void elpa_cholesky_d_ptr_f(elpa_t handle, float *a, int *error);
214 void elpa_cholesky_d_ptr_dc(elpa_t handle, double_complex *a, int *error);
215 void elpa_cholesky_d_ptr_fc(elpa_t handle, float_complex *a, int *error);
216 void elpa_invert_trm_a_h_a_d(elpa_t handle, double *a, int *error);
217 void elpa_invert_trm_a_h_a_f(elpa_t handle, float *a, int *error);
218 void elpa_invert_trm_a_h_a_dc(elpa_t handle, double_complex *a, int *error);
219 void elpa_invert_trm_a_h_a_fc(elpa_t handle, float_complex *a, int *error);
220 void elpa_invert_trm_d_ptr_d(elpa_t handle, double *a, int *error);
221 void elpa_invert_trm_d_ptr_f(elpa_t handle, float *a, int *error);
222 void elpa_invert_trm_d_ptr_dc(elpa_t handle, double_complex *a, int *error);
223 void elpa_invert_trm_d_ptr_fc(elpa_t handle, float_complex *a, int *error);
224 void elpa_solve_tridiagonal_d(elpa_t handle, double *d, double *e, double *q, int *error);
225 void elpa_solve_tridiagonal_f(elpa_t handle, float *d, float *e, float *q, int *error);
226 // /src/elpa_impl_math_solvers_template.F90
227 void elpa_eigenvectors_a_h_a_d(elpa_t handle, double *a, double *ev, double *q, int *error);
228 void elpa_eigenvectors_a_h_a_f(elpa_t handle, float *a, float *ev, float *q, int *error);
229 void elpa_eigenvectors_a_h_a_dc(elpa_t handle, double_complex *a, double *ev, double_complex *q, int *error);
230 void elpa_eigenvectors_a_h_a_fc(elpa_t handle, float_complex *a, float *ev, float_complex *q, int *error);
231 void elpa_eigenvectors_d_ptr_d(elpa_t handle, double *a, double *ev, double *q, int *error);
232 void elpa_eigenvectors_d_ptr_f(elpa_t handle, float *a, float *ev, float *q, int *error);
233 void elpa_eigenvectors_d_ptr_dc(elpa_t handle, double_complex *a, double *ev, double_complex *q, int *error);
234 void elpa_eigenvectors_d_ptr_fc(elpa_t handle, float_complex *a, float *ev, float_complex *q, 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);
237 #endif
238 #ifdef HAVE_SKEWSYMMETRIC
239 void elpa_skew_eigenvectors_a_h_a_f(elpa_t handle, float *a, float *ev, float *q, int *error);
240 #endif
241 #ifdef HAVE_SKEWSYMMETRIC
242 void elpa_skew_eigenvectors_d_ptr_d(elpa_t handle, double *a, double *ev, double *q, int *error);
243 #endif
244 #ifdef HAVE_SKEWSYMMETRIC
245 void elpa_skew_eigenvectors_d_ptr_f(elpa_t handle, float *a, float *ev, float *q, int *error);
246 #endif
247 void elpa_eigenvalues_a_h_a_d(elpa_t handle, double *a, double *ev, int *error);
248 void elpa_eigenvalues_a_h_a_f(elpa_t handle, float *a, float *ev, int *error);
249 void elpa_eigenvalues_a_h_a_dc(elpa_t handle, double_complex *a, double *ev, int *error);
250 void elpa_eigenvalues_a_h_a_fc(elpa_t handle, float_complex *a, float *ev, int *error);
251 void elpa_eigenvalues_d_ptr_d(elpa_t handle, double *a, double *ev, int *error);
252 void elpa_eigenvalues_d_ptr_f(elpa_t handle, float *a, float *ev, int *error);
253 void elpa_eigenvalues_d_ptr_dc(elpa_t handle, double_complex *a, double *ev, int *error);
254 void elpa_eigenvalues_d_ptr_fc(elpa_t handle, float_complex *a, float *ev, int *error);
255 #ifdef HAVE_SKEWSYMMETRIC
256 void elpa_skew_eigenvalues_a_h_a_d(elpa_t handle, double *a, double *ev, int *error);
257 #endif
258 #ifdef HAVE_SKEWSYMMETRIC
259 void elpa_skew_eigenvalues_a_h_a_f(elpa_t handle, float *a, float *ev, int *error);
260 #endif
261 #ifdef HAVE_SKEWSYMMETRIC
262 void elpa_skew_eigenvalues_d_ptr_d(elpa_t handle, double *a, double *ev, int *error);
263 #endif
264 #ifdef HAVE_SKEWSYMMETRIC
265 void elpa_skew_eigenvalues_d_ptr_f(elpa_t handle, float *a, float *ev, int *error);
266 #endif
267 // /src/elpa_impl_math_generalized_template.F90
268 void elpa_generalized_eigenvectors_d(elpa_t handle, double *a, double *b, double *ev, double *q,
269 int is_already_decomposed, int *error);
270 void elpa_generalized_eigenvectors_f(elpa_t handle, float *a, float *b, float *ev, float *q,
271 int is_already_decomposed, int *error);
273 int is_already_decomposed, int *error);
275 int is_already_decomposed, int *error);
276 void elpa_generalized_eigenvalues_d(elpa_t handle, double *a, double *b, double *ev,
277 int is_already_decomposed, int *error);
278 void elpa_generalized_eigenvalues_f(elpa_t handle, float *a, float *b, float *ev,
279 int is_already_decomposed, int *error);
281 int is_already_decomposed, int *error);
283 int is_already_decomposed, int *error);
284 // /src/elpa_api.F90
285 int elpa_init(int api_version);
286 // c_o: /src/elpa_impl.F90
287 #if OPTIONAL_C_ERROR_ARGUMENT == 1
288 #define elpa_allocate(...) CONC(elpa_allocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
289 #endif
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);
297 elpa_t elpa_allocate0();
298 #endif
299 #define elpa_deallocate(...) CONC(elpa_deallocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
300 #endif
301 #if OPTIONAL_C_ERROR_ARGUMENT == 1
302 void elpa_deallocate2(elpa_t handle, int *error);
303 void elpa_deallocate1(elpa_t handle);
304 #endif
305 #if OPTIONAL_C_ERROR_ARGUMENT == 1
306 #define elpa_autotune_deallocate(...) CONC(elpa_autotune_deallocate, NARGS(__VA_ARGS__))(__VA_ARGS__)
307 #endif
308 #if OPTIONAL_C_ERROR_ARGUMENT == 1
309 void elpa_autotune_deallocate2(elpa_autotune_t handle, int *error);
310 void elpa_autotune_deallocate1(elpa_autotune_t handle);
311 #endif
312 // c_o: /src/elpa_api.F90
313 #if OPTIONAL_C_ERROR_ARGUMENT == 1
314 #define elpa_uninit(...) CONC(elpa_uninit, NARGS(__VA_ARGS__))(__VA_ARGS__)
315 #endif
316 #if OPTIONAL_C_ERROR_ARGUMENT == 1
317 void elpa_uninit1(int *error);
318 void elpa_uninit0();
319 #endif
320 // c_no: /src/elpa_impl.F90
321 #if OPTIONAL_C_ERROR_ARGUMENT != 1
323 #endif
324 #if OPTIONAL_C_ERROR_ARGUMENT != 1
325 void elpa_deallocate(elpa_t handle, int *error);
326 #endif
327 #if OPTIONAL_C_ERROR_ARGUMENT != 1
329 #endif
330 // c_no: /src/elpa_api.F90
331 #if OPTIONAL_C_ERROR_ARGUMENT != 1
332 void elpa_uninit(int *error);
333 #endif
334 #ifdef __cplusplus
335 }
336 #endif
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