Epetra Package Browser (Single Doxygen Collection)
Development
src
Epetra_BLAS.h
Go to the documentation of this file.
1
/*
2
//@HEADER
3
// ************************************************************************
4
//
5
// Epetra: Linear Algebra Services Package
6
// Copyright 2011 Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
39
//
40
// ************************************************************************
41
//@HEADER
42
*/
43
44
#ifndef EPETRA_BLAS_H
45
#define EPETRA_BLAS_H
46
47
#include "
Epetra_ConfigDefs.h
"
48
#include "
Epetra_Object.h
"
49
51
70
class
EPETRA_LIB_DLL_EXPORT
Epetra_BLAS
{
71
72
public
:
74
75
78
Epetra_BLAS
(
void
);
79
80
82
84
Epetra_BLAS
(
const
Epetra_BLAS
& BLAS);
85
87
virtual
~
Epetra_BLAS
(
void
);
89
91
92
float
ASUM(
const
int
N,
const
float
* X,
const
int
INCX = 1)
const
;
95
double
ASUM(
const
int
N,
const
double
* X,
const
int
INCX = 1)
const
;
96
98
float
DOT(
const
int
N,
const
float
* X,
const
float
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
100
double
DOT(
const
int
N,
const
double
* X,
const
double
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
101
103
float
NRM2(
const
int
N,
const
float
* X,
const
int
INCX = 1)
const
;
105
double
NRM2(
const
int
N,
const
double
* X,
const
int
INCX = 1)
const
;
106
108
void
SCAL(
const
int
N,
const
float
ALPHA,
float
* X,
const
int
INCX = 1)
const
;
110
void
SCAL(
const
int
N,
const
double
ALPHA,
double
* X,
const
int
INCX = 1)
const
;
111
113
void
COPY(
const
int
N,
const
float
* X,
float
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
115
void
COPY(
const
int
N,
const
double
* X,
double
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
116
118
int
IAMAX(
const
int
N,
const
float
* X,
const
int
INCX = 1)
const
;
120
int
IAMAX(
const
int
N,
const
double
* X,
const
int
INCX = 1)
const
;
121
123
void
AXPY(
const
int
N,
const
float
ALPHA,
const
float
* X,
float
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
125
void
AXPY(
const
int
N,
const
double
ALPHA,
const
double
* X,
double
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
127
129
130
void
GEMV(
const
char
TRANS
,
const
int
M,
const
int
N,
132
const
float
ALPHA,
const
float
*
A
,
const
int
LDA,
const
float
* X,
133
const
float
BETA,
float
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
135
void
GEMV(
const
char
TRANS
,
const
int
M,
const
int
N,
136
const
double
ALPHA,
const
double
*
A
,
const
int
LDA,
const
double
* X,
137
const
double
BETA,
double
* Y,
const
int
INCX = 1,
const
int
INCY = 1)
const
;
139
140
142
143
void
GEMM(
const
char
TRANSA,
const
char
TRANSB,
const
int
M,
const
int
N,
const
int
K,
145
const
float
ALPHA,
const
float
*
A
,
const
int
LDA,
const
float
*
B
,
146
const
int
LDB,
const
float
BETA,
float
*
C
,
const
int
LDC)
const
;
148
void
GEMM(
const
char
TRANSA,
const
char
TRANSB,
const
int
M,
const
int
N,
const
int
K,
149
const
double
ALPHA,
const
double
*
A
,
const
int
LDA,
const
double
*
B
,
150
const
int
LDB,
const
double
BETA,
double
*
C
,
const
int
LDC)
const
;
151
153
void
SYMM(
const
char
SIDE,
const
char
UPLO,
const
int
M,
const
int
N,
154
const
float
ALPHA,
const
float
*
A
,
const
int
LDA,
const
float
*
B
,
155
const
int
LDB,
const
float
BETA,
float
*
C
,
const
int
LDC)
const
;
157
void
SYMM(
const
char
SIDE,
const
char
UPLO,
const
int
M,
const
int
N,
158
const
double
ALPHA,
const
double
*
A
,
const
int
LDA,
const
double
*
B
,
159
const
int
LDB,
const
double
BETA,
double
*
C
,
const
int
LDC)
const
;
160
162
void
TRMM(
const
char
SIDE,
const
char
UPLO,
const
char
TRANSA,
const
char
DIAG,
const
int
M,
const
int
N,
163
const
float
ALPHA,
const
float
*
A
,
const
int
LDA,
float
*
B
,
164
const
int
LDB)
const
;
166
void
TRMM(
const
char
SIDE,
const
char
UPLO,
const
char
TRANSA,
const
char
DIAG,
const
int
M,
const
int
N,
167
const
double
ALPHA,
const
double
*
A
,
const
int
LDA,
double
*
B
,
168
const
int
LDB)
const
;
170
void
SYRK(
const
char
UPLO,
const
char
TRANS
,
const
int
N,
const
int
K,
const
float
ALPHA,
const
float
*
A
,
171
const
int
LDA,
const
float
BETA,
float
*
C
,
const
int
LDC)
const
;
173
void
SYRK(
const
char
UPLO,
const
char
TRANS
,
const
int
N,
const
int
K,
const
double
ALPHA,
const
double
*
A
,
174
const
int
LDA,
const
double
BETA,
double
*
C
,
const
int
LDC)
const
;
176
};
177
178
// Epetra_BLAS constructor
179
inline
Epetra_BLAS::Epetra_BLAS
(
void
){}
180
// Epetra_BLAS constructor
181
inline
Epetra_BLAS::Epetra_BLAS
(
const
Epetra_BLAS
& BLAS){(void)BLAS;}
182
// Epetra_BLAS destructor
183
inline
Epetra_BLAS::~Epetra_BLAS
(){}
184
185
#endif
/* EPETRA_BLAS_H */
Epetra_BLAS::Epetra_BLAS
Epetra_BLAS(void)
Epetra_BLAS Constructor.
Definition:
Epetra_BLAS.h:179
TRANS
TRANS
Epetra_BLAS::~Epetra_BLAS
virtual ~Epetra_BLAS(void)
Epetra_BLAS Destructor.
Definition:
Epetra_BLAS.h:183
Epetra_BLAS
Epetra_BLAS: The Epetra BLAS Wrapper Class.
Definition:
Epetra_BLAS.h:70
Epetra_ConfigDefs.h
C
A
Epetra_Object.h
B
Generated by
1.8.16