Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
elpa
elpa
Commits
1d452c16
Commit
1d452c16
authored
Dec 06, 2016
by
Pavel Kus
Browse files
elpa2_tridiag_band_complex single/double unification
parent
afc5a14a
Changes
3
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
generate/generate_precision.py
View file @
1d452c16
...
...
@@ -62,6 +62,8 @@ blas_tokens = [
"PRECISION_SYRK"
,
"PRECISION_SYMV"
,
"PRECISION_SYMM"
,
"PRECISION_HEMV"
,
"PRECISION_HER2"
,
"PRECISION_SYR2"
,
"PRECISION_SYR2K"
,
"PRECISION_GEQRF"
,
...
...
@@ -88,7 +90,12 @@ explicit_tokens_complex = [
(
"PRECISION_REAL"
,
"DREAL"
,
"REAL"
),
(
"CONST_REAL_0_0"
,
"0.0_rk8"
,
"0.0_rk4"
),
(
"CONST_REAL_1_0"
,
"1.0_rk8"
,
"1.0_rk4"
),
(
"CONST_REAL_0_5"
,
"0.5_rk8"
,
"0.5_rk4"
),
(
"CONST_COMPLEX_PAIR_0_0"
,
"(0.0_rk8,0.0_rk8)"
,
"(0.0_rk4,0.0_rk4)"
),
(
"CONST_COMPLEX_PAIR_1_0"
,
"(1.0_rk8,0.0_rk8)"
,
"(1.0_rk4,0.0_rk4)"
),
(
"CONST_COMPLEX_PAIR_NEGATIVE_1_0"
,
"(-1.0_rk8,0.0_rk8)"
,
"(-1.0_rk4,0.0_rk4)"
),
(
"CONST_COMPLEX_0_0"
,
"0.0_ck8"
,
"0.0_ck4"
),
(
"CONST_COMPLEX_1_0"
,
"1.0_ck8"
,
"1.0_ck4"
),
(
"size_of_PRECISION_complex"
,
"size_of_double_complex_datatype"
,
"size_of_single_complex_datatype"
),
]
...
...
src/elpa2_tridiag_band_complex_template.X90
View file @
1d452c16
This diff is collapsed.
Click to expand it.
src/precision_macros_complex.h
View file @
1d452c16
...
...
@@ -54,6 +54,8 @@
#undef PRECISION_SYRK
#undef PRECISION_SYMV
#undef PRECISION_SYMM
#undef PRECISION_HEMV
#undef PRECISION_HER2
#undef PRECISION_SYR2
#undef PRECISION_SYR2K
#undef PRECISION_GEQRF
...
...
@@ -77,7 +79,12 @@
#undef PRECISION_REAL
#undef CONST_REAL_0_0
#undef CONST_REAL_1_0
#undef CONST_REAL_0_5
#undef CONST_COMPLEX_PAIR_0_0
#undef CONST_COMPLEX_PAIR_1_0
#undef CONST_COMPLEX_PAIR_NEGATIVE_1_0
#undef CONST_COMPLEX_0_0
#undef CONST_COMPLEX_1_0
#undef size_of_PRECISION_complex
#define elpa_transpose_vectors_complex_PRECISION elpa_transpose_vectors_complex_double
#define elpa_reduce_add_vectors_complex_PRECISION elpa_reduce_add_vectors_complex_double
...
...
@@ -134,6 +141,8 @@
#define PRECISION_SYRK ZSYRK
#define PRECISION_SYMV ZSYMV
#define PRECISION_SYMM ZSYMM
#define PRECISION_HEMV ZHEMV
#define PRECISION_HER2 ZHER2
#define PRECISION_SYR2 ZSYR2
#define PRECISION_SYR2K ZSYR2K
#define PRECISION_GEQRF ZGEQRF
...
...
@@ -157,7 +166,12 @@
#define PRECISION_REAL DREAL
#define CONST_REAL_0_0 0.0_rk8
#define CONST_REAL_1_0 1.0_rk8
#define CONST_REAL_0_5 0.5_rk8
#define CONST_COMPLEX_PAIR_0_0 (0.0_rk8,0.0_rk8)
#define CONST_COMPLEX_PAIR_1_0 (1.0_rk8,0.0_rk8)
#define CONST_COMPLEX_PAIR_NEGATIVE_1_0 (-1.0_rk8,0.0_rk8)
#define CONST_COMPLEX_0_0 0.0_ck8
#define CONST_COMPLEX_1_0 1.0_ck8
#define size_of_PRECISION_complex size_of_double_complex_datatype
#else
#undef elpa_transpose_vectors_complex_PRECISION
...
...
@@ -215,6 +229,8 @@
#undef PRECISION_SYRK
#undef PRECISION_SYMV
#undef PRECISION_SYMM
#undef PRECISION_HEMV
#undef PRECISION_HER2
#undef PRECISION_SYR2
#undef PRECISION_SYR2K
#undef PRECISION_GEQRF
...
...
@@ -238,7 +254,12 @@
#undef PRECISION_REAL
#undef CONST_REAL_0_0
#undef CONST_REAL_1_0
#undef CONST_REAL_0_5
#undef CONST_COMPLEX_PAIR_0_0
#undef CONST_COMPLEX_PAIR_1_0
#undef CONST_COMPLEX_PAIR_NEGATIVE_1_0
#undef CONST_COMPLEX_0_0
#undef CONST_COMPLEX_1_0
#undef size_of_PRECISION_complex
#define elpa_transpose_vectors_complex_PRECISION elpa_transpose_vectors_complex_single
#define elpa_reduce_add_vectors_complex_PRECISION elpa_reduce_add_vectors_complex_single
...
...
@@ -295,6 +316,8 @@
#define PRECISION_SYRK CSYRK
#define PRECISION_SYMV CSYMV
#define PRECISION_SYMM CSYMM
#define PRECISION_HEMV CHEMV
#define PRECISION_HER2 CHER2
#define PRECISION_SYR2 CSYR2
#define PRECISION_SYR2K CSYR2K
#define PRECISION_GEQRF CGEQRF
...
...
@@ -318,6 +341,11 @@
#define PRECISION_REAL REAL
#define CONST_REAL_0_0 0.0_rk4
#define CONST_REAL_1_0 1.0_rk4
#define CONST_REAL_0_5 0.5_rk4
#define CONST_COMPLEX_PAIR_0_0 (0.0_rk4,0.0_rk4)
#define CONST_COMPLEX_PAIR_1_0 (1.0_rk4,0.0_rk4)
#define CONST_COMPLEX_PAIR_NEGATIVE_1_0 (-1.0_rk4,0.0_rk4)
#define CONST_COMPLEX_0_0 0.0_ck4
#define CONST_COMPLEX_1_0 1.0_ck4
#define size_of_PRECISION_complex size_of_single_complex_datatype
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment