Commit f040ba1f authored by Andreas Marek's avatar Andreas Marek
Browse files

Rename routines

parent cf9360c2
......@@ -48,16 +48,16 @@
*/
#define elpa_eigenvectors(handle, a, ev, q, error) _Generic((a), \
double*: \
elpa_eigenvectors_d, \
elpa_eigenvectors_all_host_arrays_d, \
\
float*: \
elpa_eigenvectors_f, \
elpa_eigenvectors_all_host_arrays_f, \
\
double complex*: \
elpa_eigenvectors_dc, \
elpa_eigenvectors_all_host_arrays_dc, \
\
float complex*: \
elpa_eigenvectors_fc \
elpa_eigenvectors_all_host_arrays_fc \
)(handle, a, ev, q, error)
/*! \brief generic C method for elpa_skew_eigenvectors
......@@ -72,10 +72,10 @@
*/
#define elpa_skew_eigenvectors(handle, a, ev, q, error) _Generic((a), \
double*: \
elpa_eigenvectors_d, \
elpa_eigenvectors_all_host_arrays_d, \
\
float*: \
elpa_eigenvectors_f, \
elpa_eigenvectors_all_host_arrays_f, \
)(handle, a, ev, q, error)
......@@ -118,16 +118,16 @@
*/
#define elpa_eigenvalues(handle, a, ev, error) _Generic((a), \
double*: \
elpa_eigenvalues_d, \
elpa_eigenvalues_all_host_arrays_d, \
\
float*: \
elpa_eigenvalues_f, \
elpa_eigenvalues_all_host_arrays_f, \
\
double complex*: \
elpa_eigenvalues_dc, \
elpa_eigenvalues_all_host_arrays_dc, \
\
float complex*: \
elpa_eigenvalues_fc \
elpa_eigenvalues_all_host_arrays_fc \
)(handle, a, ev, error)
/*! \brief generic C method for elpa_skew_eigenvalues
......@@ -141,10 +141,10 @@
*/
#define elpa_skew_eigenvalues(handle, a, ev, error) _Generic((a), \
double*: \
elpa_eigenvalues_d, \
elpa_eigenvalues_all_host_arrays_d, \
\
float*: \
elpa_eigenvalues_f, \
elpa_eigenvalues_all_host_arrays_f, \
)(handle, a, ev, error)
......
......@@ -114,25 +114,25 @@ module elpa_api
! Actual math routines
generic, public :: eigenvectors => & !< method eigenvectors for solving the full eigenvalue problem
elpa_eigenvectors_d, & !< the eigenvalues and (parts of) the eigenvectors are computed
elpa_eigenvectors_f, & !< for symmetric real valued / hermitian complex valued matrices
elpa_eigenvectors_dc, &
elpa_eigenvectors_fc
elpa_eigenvectors_all_host_arrays_d, & !< the eigenvalues and (parts of) the eigenvectors are computed
elpa_eigenvectors_all_host_arrays_f, & !< for symmetric real valued / hermitian complex valued matrices
elpa_eigenvectors_all_host_arrays_dc, &
elpa_eigenvectors_all_host_arrays_fc
generic, public :: eigenvalues => & !< method eigenvalues for solving the eigenvalue problem
elpa_eigenvalues_d, & !< only the eigenvalues are computed
elpa_eigenvalues_f, & !< for symmetric real valued / hermitian complex valued matrices
elpa_eigenvalues_dc, &
elpa_eigenvalues_fc
elpa_eigenvalues_all_host_arrays_d, & !< only the eigenvalues are computed
elpa_eigenvalues_all_host_arrays_f, & !< for symmetric real valued / hermitian complex valued matrices
elpa_eigenvalues_all_host_arrays_dc, &
elpa_eigenvalues_all_host_arrays_fc
#ifdef HAVE_SKEWSYMMETRIC
generic, public :: skew_eigenvectors => & !< method skew_eigenvectors for solving the full skew-symmetric eigenvalue problem
elpa_skew_eigenvectors_d, & !< the eigenvalues and (parts of) the eigenvectors are computed
elpa_skew_eigenvectors_f !< for symmetric real valued skew-symmetric matrices
elpa_skew_eigenvectors_all_host_arrays_d, & !< the eigenvalues and (parts of) the eigenvectors are computed
elpa_skew_eigenvectors_all_host_arrays_f !< for symmetric real valued skew-symmetric matrices
generic, public :: skew_eigenvalues => & !< method skew_eigenvalues for solving the skew-symmetric eigenvalue problem
elpa_skew_eigenvalues_d, & !< only the eigenvalues are computed
elpa_skew_eigenvalues_f !< for symmetric real valued skew-symmetric matrices
elpa_skew_eigenvalues_all_host_arrays_d, & !< only the eigenvalues are computed
elpa_skew_eigenvalues_all_host_arrays_f !< for symmetric real valued skew-symmetric matrices
#endif
generic, public :: generalized_eigenvectors => & !< method eigenvectors for solving the full generalized eigenvalue problem
......@@ -192,23 +192,23 @@ module elpa_api
procedure(elpa_get_float_i), deferred, public :: elpa_get_float
procedure(elpa_get_double_i), deferred, public :: elpa_get_double
procedure(elpa_eigenvectors_d_i), deferred, public :: elpa_eigenvectors_d
procedure(elpa_eigenvectors_f_i), deferred, public :: elpa_eigenvectors_f
procedure(elpa_eigenvectors_dc_i), deferred, public :: elpa_eigenvectors_dc
procedure(elpa_eigenvectors_fc_i), deferred, public :: elpa_eigenvectors_fc
procedure(elpa_eigenvectors_all_host_arrays_d_i), deferred, public :: elpa_eigenvectors_all_host_arrays_d
procedure(elpa_eigenvectors_all_host_arrays_f_i), deferred, public :: elpa_eigenvectors_all_host_arrays_f
procedure(elpa_eigenvectors_all_host_arrays_dc_i), deferred, public :: elpa_eigenvectors_all_host_arrays_dc
procedure(elpa_eigenvectors_all_host_arrays_fc_i), deferred, public :: elpa_eigenvectors_all_host_arrays_fc
procedure(elpa_eigenvalues_d_i), deferred, public :: elpa_eigenvalues_d
procedure(elpa_eigenvalues_f_i), deferred, public :: elpa_eigenvalues_f
procedure(elpa_eigenvalues_dc_i), deferred, public :: elpa_eigenvalues_dc
procedure(elpa_eigenvalues_fc_i), deferred, public :: elpa_eigenvalues_fc
procedure(elpa_eigenvalues_all_host_arrays_d_i), deferred, public :: elpa_eigenvalues_all_host_arrays_d
procedure(elpa_eigenvalues_all_host_arrays_f_i), deferred, public :: elpa_eigenvalues_all_host_arrays_f
procedure(elpa_eigenvalues_all_host_arrays_dc_i), deferred, public :: elpa_eigenvalues_all_host_arrays_dc
procedure(elpa_eigenvalues_all_host_arrays_fc_i), deferred, public :: elpa_eigenvalues_all_host_arrays_fc
#ifdef HAVE_SKEWSYMMETRIC
procedure(elpa_skew_eigenvectors_d_i), deferred, public :: elpa_skew_eigenvectors_d
procedure(elpa_skew_eigenvectors_f_i), deferred, public :: elpa_skew_eigenvectors_f
procedure(elpa_skew_eigenvectors_all_host_arrays_d_i), deferred, public :: elpa_skew_eigenvectors_all_host_arrays_d
procedure(elpa_skew_eigenvectors_all_host_arrays_f_i), deferred, public :: elpa_skew_eigenvectors_all_host_arrays_f
procedure(elpa_skew_eigenvalues_d_i), deferred, public :: elpa_skew_eigenvalues_d
procedure(elpa_skew_eigenvalues_f_i), deferred, public :: elpa_skew_eigenvalues_f
procedure(elpa_skew_eigenvalues_all_host_arrays_d_i), deferred, public :: elpa_skew_eigenvalues_all_host_arrays_d
procedure(elpa_skew_eigenvalues_all_host_arrays_f_i), deferred, public :: elpa_skew_eigenvalues_all_host_arrays_f
#endif
procedure(elpa_generalized_eigenvectors_d_i), deferred, public :: elpa_generalized_eigenvectors_d
......
......@@ -81,7 +81,7 @@
#endif
!> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface
subroutine elpa_eigenvectors_&
subroutine elpa_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_i(self, a, ev, q, error)
use, intrinsic :: iso_c_binding
......@@ -129,7 +129,7 @@
#endif
!> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface
subroutine elpa_skew_eigenvectors_&
subroutine elpa_skew_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_i(self, a, ev, q, error)
use, intrinsic :: iso_c_binding
......@@ -183,7 +183,7 @@
#endif
!> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface
subroutine elpa_eigenvalues_&
subroutine elpa_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_i(self, a, ev, error)
use, intrinsic :: iso_c_binding
......@@ -228,7 +228,7 @@
#endif
!> \result error integer, optional : error code, which can be queried with elpa_strerr
abstract interface
subroutine elpa_skew_eigenvalues_&
subroutine elpa_skew_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_i(self, a, ev, error)
use, intrinsic :: iso_c_binding
......
......@@ -105,26 +105,26 @@ module elpa_impl
!> \brief the implemenation methods
procedure, public :: elpa_eigenvectors_d !< public methods to implement the solve step for real/complex
!< double/single matrices
procedure, public :: elpa_eigenvectors_f
procedure, public :: elpa_eigenvectors_dc
procedure, public :: elpa_eigenvectors_fc
procedure, public :: elpa_eigenvalues_d !< public methods to implement the solve step for real/complex
!< double/single matrices; only the eigenvalues are computed
procedure, public :: elpa_eigenvalues_f
procedure, public :: elpa_eigenvalues_dc
procedure, public :: elpa_eigenvalues_fc
procedure, public :: elpa_eigenvectors_all_host_arrays_d !< public methods to implement the solve step for real/complex
!< double/single matrices
procedure, public :: elpa_eigenvectors_all_host_arrays_f
procedure, public :: elpa_eigenvectors_all_host_arrays_dc
procedure, public :: elpa_eigenvectors_all_host_arrays_fc
procedure, public :: elpa_eigenvalues_all_host_arrays_d !< public methods to implement the solve step for real/complex
!< double/single matrices; only the eigenvalues are computed
procedure, public :: elpa_eigenvalues_all_host_arrays_f
procedure, public :: elpa_eigenvalues_all_host_arrays_dc
procedure, public :: elpa_eigenvalues_all_host_arrays_fc
#ifdef HAVE_SKEWSYMMETRIC
procedure, public :: elpa_skew_eigenvectors_d !< public methods to implement the solve step for real skew-symmetric
!< double/single matrices
procedure, public :: elpa_skew_eigenvectors_f
procedure, public :: elpa_skew_eigenvectors_all_host_arrays_d !< public methods to implement the solve step for real skew-symmetric
!< double/single matrices
procedure, public :: elpa_skew_eigenvectors_all_host_arrays_f
procedure, public :: elpa_skew_eigenvalues_d !< public methods to implement the solve step for real skew-symmetric
!< double/single matrices; only the eigenvalues are computed
procedure, public :: elpa_skew_eigenvalues_f
procedure, public :: elpa_skew_eigenvalues_all_host_arrays_d !< public methods to implement the solve step for real skew-symmetric
!< double/single matrices; only the eigenvalues are computed
procedure, public :: elpa_skew_eigenvalues_all_host_arrays_f
#endif
procedure, public :: elpa_generalized_eigenvectors_d !< public methods to implement the solve step for generalized
......
......@@ -71,7 +71,7 @@
!>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_eigenvectors_&
subroutine elpa_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, q, error)
class(elpa_impl_t) :: self
......@@ -153,37 +153,37 @@
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
!c> void elpa_eigenvectors_d(elpa_t handle, double *a, double *ev, double *q, int *error);
!c> void elpa_eigenvectors_all_host_arrays_d(elpa_t handle, double *a, double *ev, double *q, int *error);
#endif
#ifdef SINGLE_PRECISION_REAL
!c> void elpa_eigenvectors_f(elpa_t handle, float *a, float *ev, float *q, int *error);
!c> void elpa_eigenvectors_all_host_arrays_f(elpa_t handle, float *a, float *ev, float *q, int *error);
#endif
#endif
#ifdef COMPLEXCASE
#ifdef DOUBLE_PRECISION_COMPLEX
!c> void elpa_eigenvectors_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error);
!c> void elpa_eigenvectors_all_host_arrays_dc(elpa_t handle, double complex *a, double *ev, double complex *q, int *error);
#endif
#ifdef SINGLE_PRECISION_COMPLEX
!c> void elpa_eigenvectors_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error);
!c> void elpa_eigenvectors_all_host_arrays_fc(elpa_t handle, float complex *a, float *ev, float complex *q, int *error);
#endif
#endif
subroutine elpa_eigenvectors_&
subroutine elpa_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_c(handle, a_p, ev_p, q_p, error) &
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
bind(C, name="elpa_eigenvectors_d")
bind(C, name="elpa_eigenvectors_all_host_arrays_d")
#endif
#ifdef SINGLE_PRECISION_REAL
bind(C, name="elpa_eigenvectors_f")
bind(C, name="elpa_eigenvectors_all_host_arrays_f")
#endif
#endif
#ifdef COMPLEXCASE
#ifdef DOUBLE_PRECISION_COMPLEX
bind(C, name="elpa_eigenvectors_dc")
bind(C, name="elpa_eigenvectors_all_host_arrays_dc")
#endif
#ifdef SINGLE_PRECISION_COMPLEX
bind(C, name="elpa_eigenvectors_fc")
bind(C, name="elpa_eigenvectors_all_host_arrays_fc")
#endif
#endif
type(c_ptr), intent(in), value :: handle, a_p, ev_p, q_p
......@@ -202,7 +202,7 @@
call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_eigenvectors_&
call elpa_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, q, error)
end subroutine
......@@ -235,7 +235,7 @@
!>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_skew_eigenvectors_&
subroutine elpa_skew_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, q, error)
class(elpa_impl_t) :: self
......@@ -319,21 +319,21 @@
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
!c> void elpa_skew_eigenvectors_d(elpa_t handle, double *a, double *ev, double *q, int *error);
!c> void elpa_skew_eigenvectors_all_host_arrays_d(elpa_t handle, double *a, double *ev, double *q, int *error);
#endif
#ifdef SINGLE_PRECISION_REAL
!c> void elpa_skew_eigenvectors_f(elpa_t handle, float *a, float *ev, float *q, int *error);
!c> void elpa_skew_eigenvectors_all_host_arrays_f(elpa_t handle, float *a, float *ev, float *q, int *error);
#endif
#endif
subroutine elpa_skew_eigenvectors_&
subroutine elpa_skew_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_c(handle, a_p, ev_p, q_p, error) &
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
bind(C, name="elpa_skew_eigenvectors_d")
bind(C, name="elpa_skew_eigenvectors_all_host_arrays_d")
#endif
#ifdef SINGLE_PRECISION_REAL
bind(C, name="elpa_skew_eigenvectors_f")
bind(C, name="elpa_skew_eigenvectors_all_host_arrays_f")
#endif
#endif
......@@ -353,7 +353,7 @@
call c_f_pointer(ev_p, ev, [self%na])
call c_f_pointer(q_p, q, [self%local_nrows, self%local_ncols])
call elpa_skew_eigenvectors_&
call elpa_skew_eigenvectors_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, q, error)
end subroutine
......@@ -380,7 +380,7 @@
!> \param ev On output: eigenvalues of a, every processor gets the complete set
!>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_eigenvalues_&
subroutine elpa_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, error)
class(elpa_impl_t) :: self
......@@ -460,37 +460,37 @@
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
!c> void elpa_eigenvalues_d(elpa_t handle, double *a, double *ev, int *error);
!c> void elpa_eigenvalues_all_host_arrays_d(elpa_t handle, double *a, double *ev, int *error);
#endif
#ifdef SINGLE_PRECISION_REAL
!c> void elpa_eigenvalues_f(elpa_t handle, float *a, float *ev, int *error);
!c> void elpa_eigenvalues_all_host_arrays_f(elpa_t handle, float *a, float *ev, int *error);
#endif
#endif
#ifdef COMPLEXCASE
#ifdef DOUBLE_PRECISION_COMPLEX
!c> void elpa_eigenvalues_dc(elpa_t handle, double complex *a, double *ev, int *error);
!c> void elpa_eigenvalues_all_host_arrays_dc(elpa_t handle, double complex *a, double *ev, int *error);
#endif
#ifdef SINGLE_PRECISION_COMPLEX
!c> void elpa_eigenvalues_fc(elpa_t handle, float complex *a, float *ev, int *error);
!c> void elpa_eigenvalues_all_host_arrays_fc(elpa_t handle, float complex *a, float *ev, int *error);
#endif
#endif
subroutine elpa_eigenvalues_&
subroutine elpa_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_c(handle, a_p, ev_p, error) &
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
bind(C, name="elpa_eigenvalues_d")
bind(C, name="elpa_eigenvalues_all_host_arrays_d")
#endif
#ifdef SINGLE_PRECISION_REAL
bind(C, name="elpa_eigenvalues_f")
bind(C, name="elpa_eigenvalues_all_host_arrays_f")
#endif
#endif
#ifdef COMPLEXCASE
#ifdef DOUBLE_PRECISION_COMPLEX
bind(C, name="elpa_eigenvalues_dc")
bind(C, name="elpa_eigenvalues_all_host_arrays_dc")
#endif
#ifdef SINGLE_PRECISION_COMPLEX
bind(C, name="elpa_eigenvalues_fc")
bind(C, name="elpa_eigenvalues_all_host_arrays_fc")
#endif
#endif
......@@ -505,7 +505,7 @@
call c_f_pointer(a_p, a, [self%local_nrows, self%local_ncols])
call c_f_pointer(ev_p, ev, [self%na])
call elpa_eigenvalues_&
call elpa_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, error)
end subroutine
......@@ -532,7 +532,7 @@
!> \param ev On output: eigenvalues of a, every processor gets the complete set
!>
!> \param error integer, optional: returns an error code, which can be queried with elpa_strerr
subroutine elpa_skew_eigenvalues_&
subroutine elpa_skew_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, error)
class(elpa_impl_t) :: self
......@@ -613,21 +613,21 @@
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
!c> void elpa_skew_eigenvalues_d(elpa_t handle, double *a, double *ev, int *error);
!c> void elpa_skew_eigenvalues_all_host_arrays_d(elpa_t handle, double *a, double *ev, int *error);
#endif
#ifdef SINGLE_PRECISION_REAL
!c> void elpa_skew_eigenvalues_f(elpa_t handle, float *a, float *ev, int *error);
!c> void elpa_skew_eigenvalues_all_host_arrays_f(elpa_t handle, float *a, float *ev, int *error);
#endif
#endif
subroutine elpa_skew_eigenvalues_&
subroutine elpa_skew_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
&_c(handle, a_p, ev_p, error) &
#ifdef REALCASE
#ifdef DOUBLE_PRECISION_REAL
bind(C, name="elpa_skew_eigenvalues_d")
bind(C, name="elpa_skew_eigenvalues_all_host_arrays_d")
#endif
#ifdef SINGLE_PRECISION_REAL
bind(C, name="elpa_skew_eigenvalues_f")
bind(C, name="elpa_skew_eigenvalues_all_host_arrays_f")
#endif
#endif
type(c_ptr), intent(in), value :: handle, a_p, ev_p
......@@ -641,7 +641,7 @@
call c_f_pointer(a_p, a, [self%local_nrows, self%local_ncols])
call c_f_pointer(ev_p, ev, [self%na])
call elpa_skew_eigenvalues_&
call elpa_skew_eigenvalues_all_host_arrays_&
&ELPA_IMPL_SUFFIX&
& (self, a, ev, error)
end subroutine
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment