ergo
template_blas_common.h
Go to the documentation of this file.
1
/* Ergo, version 3.7, a program for linear scaling electronic structure
2
* calculations.
3
* Copyright (C) 2018 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,
4
* and Anastasia Kruchinina.
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*
19
* Primary academic reference:
20
* Ergo: An open-source program for linear-scaling electronic structure
21
* calculations,
22
* Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia
23
* Kruchinina,
24
* SoftwareX 7, 107 (2018),
25
* <http://dx.doi.org/10.1016/j.softx.2018.03.005>
26
*
27
* For further information about Ergo, see <http://www.ergoscf.org>.
28
*/
29
30
/* This file belongs to the template_lapack part of the Ergo source
31
* code. The source files in the template_lapack directory are modified
32
* versions of files originally distributed as CLAPACK, see the
33
* Copyright/license notice in the file template_lapack/COPYING.
34
*/
35
36
37
//#define sqrt HULAhulaHULAsqrt
38
//#define log HULAhulaHULAlog
39
40
typedef
int
integer
;
41
typedef
bool
logical
;
42
typedef
int
ftnlen
;
43
typedef
char
*
address
;
44
45
#define maxMACRO(a,b) (a >= b ? a : b)
46
#define minMACRO(a,b) (a <= b ? a : b)
47
#define absMACRO(x) (x >= 0 ? x : (-x))
48
49
#if 0
50
// Pawel suggests this variant:
51
template
<
typename
A>
52
A
maxMACRO
(
const
A
& a,
const
A
&b) {
return
a >= b ? a : b; }
53
maxMACRO
(f(a), b)
54
#endif
55
56
// include math.h to get sqrt etc
57
#include <math.h>
58
59
60
#include "
template_blas_basicmath.h
"
61
62
63
logical
template_blas_lsame
(
const
char
*ca,
const
char
*cb);
64
int
template_blas_erbla
(
const
char
*srname,
integer
*info);
65
void
template_blas_s_cat
(
char
*lp,
char
*rpp[],
ftnlen
rnp[],
ftnlen
*np,
ftnlen
ll);
66
67
#include "
template_blas_axpy.h
"
68
#include "
template_blas_scal.h
"
69
#include "
template_blas_dot.h
"
70
#include "
template_blas_spr.h
"
71
#include "
template_blas_spr2.h
"
72
#include "
template_blas_gemv.h
"
73
#include "
template_blas_gemm.h
"
74
#include "
template_blas_trmm.h
"
75
#include "
template_blas_trsm.h
"
76
#include "
template_blas_syrk.h
"
77
#include "
template_blas_syr2.h
"
78
#include "
template_blas_syr2k.h
"
79
#include "
template_blas_symv.h
"
80
#include "
template_blas_symm.h
"
81
#include "
template_blas_tpsv.h
"
82
#include "
template_blas_tpmv.h
"
83
#include "
template_blas_spmv.h
"
84
#include "
template_blas_trsv.h
"
85
#include "
template_blas_trmv.h
"
86
#include "
template_blas_swap.h
"
87
#include "
template_blas_nrm2.h
"
88
#include "
template_blas_copy.h
"
89
#include "
template_blas_ger.h
"
90
#include "
template_blas_idamax.h
"
91
#include "
template_blas_rot.h
"
92
#include "
template_blas_asum.h
"
A
#define A
template_blas_trsm.h
template_blas_trmm.h
template_blas_idamax.h
template_blas_syrk.h
template_blas_trsv.h
template_blas_axpy.h
template_blas_trmv.h
template_blas_syr2k.h
integer
int integer
Definition:
template_blas_common.h:40
address
char * address
Definition:
template_blas_common.h:43
template_blas_spr2.h
maxMACRO
#define maxMACRO(a, b)
Definition:
template_blas_common.h:45
template_blas_gemm.h
template_blas_basicmath.h
template_blas_tpmv.h
template_blas_erbla
int template_blas_erbla(const char *srname, integer *info)
Definition:
template_blas_common.cc:146
template_blas_gemv.h
template_blas_swap.h
template_blas_ger.h
template_blas_nrm2.h
template_blas_spr.h
template_blas_spmv.h
template_blas_lsame
logical template_blas_lsame(const char *ca, const char *cb)
Definition:
template_blas_common.cc:46
template_blas_s_cat
void template_blas_s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll)
Definition:
template_blas_common.cc:204
template_blas_rot.h
template_blas_syr2.h
logical
bool logical
Definition:
template_blas_common.h:41
template_blas_tpsv.h
template_blas_dot.h
template_blas_scal.h
ftnlen
int ftnlen
Definition:
template_blas_common.h:42
template_blas_symm.h
template_blas_copy.h
template_blas_asum.h
template_blas_symv.h
source
matrix
template_lapack
blas
template_blas_common.h
Generated on Tue Jul 10 2018 16:57:50 for ergo by
1.8.14