Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dlib
Commits
36fdfe68
Commit
36fdfe68
authored
Feb 04, 2016
by
Davis King
Browse files
Added a copy of CBLAS so we can use it when linking against a BLAS that
doesn't have it.
parent
64c7e966
Changes
167
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1958 additions
and
0 deletions
+1958
-0
dlib/external/cblas/cblas_dsyr2k.c
dlib/external/cblas/cblas_dsyr2k.c
+94
-0
dlib/external/cblas/cblas_dsyrk.c
dlib/external/cblas/cblas_dsyrk.c
+93
-0
dlib/external/cblas/cblas_dtbmv.c
dlib/external/cblas/cblas_dtbmv.c
+103
-0
dlib/external/cblas/cblas_dtbsv.c
dlib/external/cblas/cblas_dtbsv.c
+103
-0
dlib/external/cblas/cblas_dtpmv.c
dlib/external/cblas/cblas_dtpmv.c
+98
-0
dlib/external/cblas/cblas_dtpsv.c
dlib/external/cblas/cblas_dtpsv.c
+99
-0
dlib/external/cblas/cblas_dtrmm.c
dlib/external/cblas/cblas_dtrmm.c
+125
-0
dlib/external/cblas/cblas_dtrmv.c
dlib/external/cblas/cblas_dtrmv.c
+103
-0
dlib/external/cblas/cblas_dtrsm.c
dlib/external/cblas/cblas_dtrsm.c
+130
-0
dlib/external/cblas/cblas_dtrsv.c
dlib/external/cblas/cblas_dtrsv.c
+102
-0
dlib/external/cblas/cblas_dzasum.c
dlib/external/cblas/cblas_dzasum.c
+23
-0
dlib/external/cblas/cblas_dznrm2.c
dlib/external/cblas/cblas_dznrm2.c
+23
-0
dlib/external/cblas/cblas_f77.h
dlib/external/cblas/cblas_f77.h
+701
-0
dlib/external/cblas/cblas_icamax.c
dlib/external/cblas/cblas_icamax.c
+23
-0
dlib/external/cblas/cblas_idamax.c
dlib/external/cblas/cblas_idamax.c
+23
-0
dlib/external/cblas/cblas_isamax.c
dlib/external/cblas/cblas_isamax.c
+23
-0
dlib/external/cblas/cblas_izamax.c
dlib/external/cblas/cblas_izamax.c
+23
-0
dlib/external/cblas/cblas_sasum.c
dlib/external/cblas/cblas_sasum.c
+23
-0
dlib/external/cblas/cblas_saxpy.c
dlib/external/cblas/cblas_saxpy.c
+23
-0
dlib/external/cblas/cblas_scasum.c
dlib/external/cblas/cblas_scasum.c
+23
-0
No files found.
dlib/external/cblas/cblas_dsyr2k.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_dsyr2k.c
* This program is a C interface to dsyr2k.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dsyr2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
B
,
const
int
ldb
,
const
double
beta
,
double
*
C
,
const
int
ldc
)
{
char
UL
,
TR
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
;
#else
#define F77_TR &TR
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_K
=
K
,
F77_lda
=
lda
,
F77_ldb
=
ldb
;
F77_INT
F77_ldc
=
ldc
;
#else
#define F77_N N
#define F77_K K
#define F77_lda lda
#define F77_ldb ldb
#define F77_ldc ldc
#endif
if
(
Order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dsyr2k"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
Trans
==
CblasTrans
)
TR
=
'T'
;
else
if
(
Trans
==
CblasConjTrans
)
TR
=
'C'
;
else
if
(
Trans
==
CblasNoTrans
)
TR
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyr2k"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_dsyr2k
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyr2k"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
Trans
==
CblasTrans
)
TR
=
'N'
;
else
if
(
Trans
==
CblasConjTrans
)
TR
=
'N'
;
else
if
(
Trans
==
CblasNoTrans
)
TR
=
'T'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyr2k"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_dsyr2k
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_dsyr2k"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_dsyrk.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_dsyrk.c
* This program is a C interface to dsyrk.
* Written by Keita Teranishi
* 4/8/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dsyrk
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
beta
,
double
*
C
,
const
int
ldc
)
{
char
UL
,
TR
;
#ifdef F77_CHAR
F77_CHAR
F77_TR
,
F77_UL
;
#else
#define F77_TR &TR
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_K
=
K
,
F77_lda
=
lda
;
F77_INT
F77_ldc
=
ldc
;
#else
#define F77_N N
#define F77_K K
#define F77_lda lda
#define F77_ldc ldc
#endif
if
(
Order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dsyrk"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
Trans
==
CblasTrans
)
TR
=
'T'
;
else
if
(
Trans
==
CblasConjTrans
)
TR
=
'C'
;
else
if
(
Trans
==
CblasNoTrans
)
TR
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyrk"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_dsyrk
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
&
beta
,
C
,
&
F77_ldc
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyrk"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
Trans
==
CblasTrans
)
TR
=
'N'
;
else
if
(
Trans
==
CblasConjTrans
)
TR
=
'N'
;
else
if
(
Trans
==
CblasNoTrans
)
TR
=
'T'
;
else
{
cblas_xerbla
(
3
,
"cblas_dsyrk"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_dsyrk
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_dsyrk"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_dtbmv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dtbmv.c
* The program is a C interface to dtbmv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
int
K
,
const
double
*
A
,
const
int
lda
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_lda
=
lda
,
F77_K
=
K
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_K K
#define F77_lda lda
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtbmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtbmv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtbmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtbmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtbmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtbmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtbmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
}
dlib/external/cblas/cblas_dtbsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dtbsv.c
* The program is a C interface to dtbsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtbsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
int
K
,
const
double
*
A
,
const
int
lda
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_lda
=
lda
,
F77_K
=
K
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_K K
#define F77_lda lda
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtbsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtbsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtbsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtbsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtbsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtbsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtbsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtbsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtbsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_dtpmv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dtpmv.c
* The program is a C interface to dtpmv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
double
*
Ap
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtpmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtpmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtpmv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtpmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtpmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtpmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtpmv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtpmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtpmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_dtpsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dtpsv.c
* The program is a C interface to dtpsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtpsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
double
*
Ap
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtpsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtpsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtpsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtpsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtpsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtpsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtpsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtpsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtpsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_dtrmm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_dtrmm.c
* This program is a C interface to dtrmm.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtrmm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
M
,
const
int
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
double
*
B
,
const
int
ldb
)
{
char
UL
,
TA
,
SD
,
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_SD
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_SD &SD
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_lda
=
lda
,
F77_ldb
=
ldb
;
#else
#define F77_M M
#define F77_N N
#define F77_lda lda
#define F77_ldb ldb
#endif
if
(
Order
==
CblasColMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'R'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrmm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrmm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrmm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_dtrmm"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_SD
=
C2F_CHAR
(
&
SD
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrmm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_M
,
&
F77_N
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'L'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'R'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrmm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrmm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrmm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_dtrmm"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_SD
=
C2F_CHAR
(
&
SD
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrmm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
cblas_xerbla
(
1
,
"cblas_dtrmm"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_dtrmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_dtrmv.c
* This program is a C interface to sgemv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtrmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
double
*
A
,
const
int
lda
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_lda
=
lda
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_lda lda
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrmv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrmv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtrmv"
,
"Illegal order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_dtrsm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_dtrsm.c
* This program is a C interface to dtrsm.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtrsm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
M
,
const
int
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
double
*
B
,
const
int
ldb
)
{
char
UL
,
TA
,
SD
,
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_SD
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_SD &SD
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_lda
=
lda
,
F77_ldb
=
ldb
;
#else
#define F77_M M
#define F77_N N
#define F77_lda lda
#define F77_ldb ldb
#endif
if
(
Order
==
CblasColMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'R'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrsm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrsm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrsm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_dtrsm"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_SD
=
C2F_CHAR
(
&
SD
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrsm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_M
,
&
F77_N
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'L'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'R'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrsm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrsm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrsm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_dtrsm"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_SD
=
C2F_CHAR
(
&
SD
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrsm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
cblas_xerbla
(
1
,
"cblas_dtrsm"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_dtrsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dtrsv.c
* The program is a C interface to dtrsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_dtrsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
double
*
A
,
const
int
lda
,
double
*
X
,
const
int
incX
)
{
char
TA
;
char
UL
;
char
DI
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_UL
,
F77_DI
;
#else
#define F77_TA &TA
#define F77_UL &UL
#define F77_DI &DI
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_lda
=
lda
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_lda lda
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_dtrsv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_dtrsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_dtrsv"
,
"Illegal Diag setting, %d
\n
"
,
Diag
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_DI
=
C2F_CHAR
(
&
DI
);
#endif
F77_dtrsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_dtrsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_dzasum.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dzasum.c
*
* The program is a C interface to dzasum.
* It calls the fortran wrapper before calling dzasum.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
double
cblas_dzasum
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
double
asum
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_dzasum_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
asum
);
return
asum
;
}
dlib/external/cblas/cblas_dznrm2.c
0 → 100644
View file @
36fdfe68
/*
* cblas_dznrm2.c
*
* The program is a C interface to dznrm2.
* It calls the fortran wrapper before calling dznrm2.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
double
cblas_dznrm2
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
double
nrm2
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_dznrm2_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
nrm2
);
return
nrm2
;
}
dlib/external/cblas/cblas_f77.h
0 → 100644
View file @
36fdfe68
/*
* cblas_f77.h
* Written by Keita Teranishi
*
* Updated by Jeff Horner
* Merged cblas_f77.h and cblas_fortran_header.h
*/
#ifndef CBLAS_F77_H
#define CBLAS_f77_H
#ifdef CRAY
#include <fortran.h>
#define F77_CHAR _fcd
#define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
#define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
#define F77_STRLEN(a) (_fcdlen)
#endif
#ifdef WeirdNEC
#define F77_INT long
#endif
#ifdef F77_CHAR
#define FCHAR F77_CHAR
#else
#define FCHAR char *
#endif
#ifdef F77_INT
#define FINT const F77_INT *
#define FINT2 F77_INT *
#else
#define FINT const int *
#define FINT2 int *
#endif
#if defined(ADD_)
/*
* Level 1 BLAS
*/
#define F77_xerbla xerbla_
#define F77_srotg srotg_
#define F77_srotmg srotmg_
#define F77_srot srot_
#define F77_srotm srotm_
#define F77_drotg drotg_
#define F77_drotmg drotmg_
#define F77_drot drot_
#define F77_drotm drotm_
#define F77_sswap sswap_
#define F77_scopy scopy_
#define F77_saxpy saxpy_
#define F77_isamax_sub isamaxsub_
#define F77_dswap dswap_
#define F77_dcopy dcopy_
#define F77_daxpy daxpy_
#define F77_idamax_sub idamaxsub_
#define F77_cswap cswap_
#define F77_ccopy ccopy_
#define F77_caxpy caxpy_
#define F77_icamax_sub icamaxsub_
#define F77_zswap zswap_
#define F77_zcopy zcopy_
#define F77_zaxpy zaxpy_
#define F77_izamax_sub izamaxsub_
#define F77_sdot_sub sdotsub_
#define F77_ddot_sub ddotsub_
#define F77_dsdot_sub dsdotsub_
#define F77_sscal sscal_
#define F77_dscal dscal_
#define F77_cscal cscal_
#define F77_zscal zscal_
#define F77_csscal csscal_
#define F77_zdscal zdscal_
#define F77_cdotu_sub cdotusub_
#define F77_cdotc_sub cdotcsub_
#define F77_zdotu_sub zdotusub_
#define F77_zdotc_sub zdotcsub_
#define F77_snrm2_sub snrm2sub_
#define F77_sasum_sub sasumsub_
#define F77_dnrm2_sub dnrm2sub_
#define F77_dasum_sub dasumsub_
#define F77_scnrm2_sub scnrm2sub_
#define F77_scasum_sub scasumsub_
#define F77_dznrm2_sub dznrm2sub_
#define F77_dzasum_sub dzasumsub_
#define F77_sdsdot_sub sdsdotsub_
/*
* Level 2 BLAS
*/
#define F77_ssymv ssymv_
#define F77_ssbmv ssbmv_
#define F77_sspmv sspmv_
#define F77_sger sger_
#define F77_ssyr ssyr_
#define F77_sspr sspr_
#define F77_ssyr2 ssyr2_
#define F77_sspr2 sspr2_
#define F77_dsymv dsymv_
#define F77_dsbmv dsbmv_
#define F77_dspmv dspmv_
#define F77_dger dger_
#define F77_dsyr dsyr_
#define F77_dspr dspr_
#define F77_dsyr2 dsyr2_
#define F77_dspr2 dspr2_
#define F77_chemv chemv_
#define F77_chbmv chbmv_
#define F77_chpmv chpmv_
#define F77_cgeru cgeru_
#define F77_cgerc cgerc_
#define F77_cher cher_
#define F77_chpr chpr_
#define F77_cher2 cher2_
#define F77_chpr2 chpr2_
#define F77_zhemv zhemv_
#define F77_zhbmv zhbmv_
#define F77_zhpmv zhpmv_
#define F77_zgeru zgeru_
#define F77_zgerc zgerc_
#define F77_zher zher_
#define F77_zhpr zhpr_
#define F77_zher2 zher2_
#define F77_zhpr2 zhpr2_
#define F77_sgemv sgemv_
#define F77_sgbmv sgbmv_
#define F77_strmv strmv_
#define F77_stbmv stbmv_
#define F77_stpmv stpmv_
#define F77_strsv strsv_
#define F77_stbsv stbsv_
#define F77_stpsv stpsv_
#define F77_dgemv dgemv_
#define F77_dgbmv dgbmv_
#define F77_dtrmv dtrmv_
#define F77_dtbmv dtbmv_
#define F77_dtpmv dtpmv_
#define F77_dtrsv dtrsv_
#define F77_dtbsv dtbsv_
#define F77_dtpsv dtpsv_
#define F77_cgemv cgemv_
#define F77_cgbmv cgbmv_
#define F77_ctrmv ctrmv_
#define F77_ctbmv ctbmv_
#define F77_ctpmv ctpmv_
#define F77_ctrsv ctrsv_
#define F77_ctbsv ctbsv_
#define F77_ctpsv ctpsv_
#define F77_zgemv zgemv_
#define F77_zgbmv zgbmv_
#define F77_ztrmv ztrmv_
#define F77_ztbmv ztbmv_
#define F77_ztpmv ztpmv_
#define F77_ztrsv ztrsv_
#define F77_ztbsv ztbsv_
#define F77_ztpsv ztpsv_
/*
* Level 3 BLAS
*/
#define F77_chemm chemm_
#define F77_cherk cherk_
#define F77_cher2k cher2k_
#define F77_zhemm zhemm_
#define F77_zherk zherk_
#define F77_zher2k zher2k_
#define F77_sgemm sgemm_
#define F77_ssymm ssymm_
#define F77_ssyrk ssyrk_
#define F77_ssyr2k ssyr2k_
#define F77_strmm strmm_
#define F77_strsm strsm_
#define F77_dgemm dgemm_
#define F77_dsymm dsymm_
#define F77_dsyrk dsyrk_
#define F77_dsyr2k dsyr2k_
#define F77_dtrmm dtrmm_
#define F77_dtrsm dtrsm_
#define F77_cgemm cgemm_
#define F77_csymm csymm_
#define F77_csyrk csyrk_
#define F77_csyr2k csyr2k_
#define F77_ctrmm ctrmm_
#define F77_ctrsm ctrsm_
#define F77_zgemm zgemm_
#define F77_zsymm zsymm_
#define F77_zsyrk zsyrk_
#define F77_zsyr2k zsyr2k_
#define F77_ztrmm ztrmm_
#define F77_ztrsm ztrsm_
#elif defined(UPCASE)
/*
* Level 1 BLAS
*/
#define F77_xerbla XERBLA
#define F77_srotg SROTG
#define F77_srotmg SROTMG
#define F77_srot SROT
#define F77_srotm SROTM
#define F77_drotg DROTG
#define F77_drotmg DROTMG
#define F77_drot DROT
#define F77_drotm DROTM
#define F77_sswap SSWAP
#define F77_scopy SCOPY
#define F77_saxpy SAXPY
#define F77_isamax_sub ISAMAXSUB
#define F77_dswap DSWAP
#define F77_dcopy DCOPY
#define F77_daxpy DAXPY
#define F77_idamax_sub IDAMAXSUB
#define F77_cswap CSWAP
#define F77_ccopy CCOPY
#define F77_caxpy CAXPY
#define F77_icamax_sub ICAMAXSUB
#define F77_zswap ZSWAP
#define F77_zcopy ZCOPY
#define F77_zaxpy ZAXPY
#define F77_izamax_sub IZAMAXSUB
#define F77_sdot_sub SDOTSUB
#define F77_ddot_sub DDOTSUB
#define F77_dsdot_sub DSDOTSUB
#define F77_sscal SSCAL
#define F77_dscal DSCAL
#define F77_cscal CSCAL
#define F77_zscal ZSCAL
#define F77_csscal CSSCAL
#define F77_zdscal ZDSCAL
#define F77_cdotu_sub CDOTUSUB
#define F77_cdotc_sub CDOTCSUB
#define F77_zdotu_sub ZDOTUSUB
#define F77_zdotc_sub ZDOTCSUB
#define F77_snrm2_sub SNRM2SUB
#define F77_sasum_sub SASUMSUB
#define F77_dnrm2_sub DNRM2SUB
#define F77_dasum_sub DASUMSUB
#define F77_scnrm2_sub SCNRM2SUB
#define F77_scasum_sub SCASUMSUB
#define F77_dznrm2_sub DZNRM2SUB
#define F77_dzasum_sub DZASUMSUB
#define F77_sdsdot_sub SDSDOTSUB
/*
* Level 2 BLAS
*/
#define F77_ssymv SSYMV
#define F77_ssbmv SSBMV
#define F77_sspmv SSPMV
#define F77_sger SGER
#define F77_ssyr SSYR
#define F77_sspr SSPR
#define F77_ssyr2 SSYR2
#define F77_sspr2 SSPR2
#define F77_dsymv DSYMV
#define F77_dsbmv DSBMV
#define F77_dspmv DSPMV
#define F77_dger DGER
#define F77_dsyr DSYR
#define F77_dspr DSPR
#define F77_dsyr2 DSYR2
#define F77_dspr2 DSPR2
#define F77_chemv CHEMV
#define F77_chbmv CHBMV
#define F77_chpmv CHPMV
#define F77_cgeru CGERU
#define F77_cgerc CGERC
#define F77_cher CHER
#define F77_chpr CHPR
#define F77_cher2 CHER2
#define F77_chpr2 CHPR2
#define F77_zhemv ZHEMV
#define F77_zhbmv ZHBMV
#define F77_zhpmv ZHPMV
#define F77_zgeru ZGERU
#define F77_zgerc ZGERC
#define F77_zher ZHER
#define F77_zhpr ZHPR
#define F77_zher2 ZHER2
#define F77_zhpr2 ZHPR2
#define F77_sgemv SGEMV
#define F77_sgbmv SGBMV
#define F77_strmv STRMV
#define F77_stbmv STBMV
#define F77_stpmv STPMV
#define F77_strsv STRSV
#define F77_stbsv STBSV
#define F77_stpsv STPSV
#define F77_dgemv DGEMV
#define F77_dgbmv DGBMV
#define F77_dtrmv DTRMV
#define F77_dtbmv DTBMV
#define F77_dtpmv DTPMV
#define F77_dtrsv DTRSV
#define F77_dtbsv DTBSV
#define F77_dtpsv DTPSV
#define F77_cgemv CGEMV
#define F77_cgbmv CGBMV
#define F77_ctrmv CTRMV
#define F77_ctbmv CTBMV
#define F77_ctpmv CTPMV
#define F77_ctrsv CTRSV
#define F77_ctbsv CTBSV
#define F77_ctpsv CTPSV
#define F77_zgemv ZGEMV
#define F77_zgbmv ZGBMV
#define F77_ztrmv ZTRMV
#define F77_ztbmv ZTBMV
#define F77_ztpmv ZTPMV
#define F77_ztrsv ZTRSV
#define F77_ztbsv ZTBSV
#define F77_ztpsv ZTPSV
/*
* Level 3 BLAS
*/
#define F77_chemm CHEMM
#define F77_cherk CHERK
#define F77_cher2k CHER2K
#define F77_zhemm ZHEMM
#define F77_zherk ZHERK
#define F77_zher2k ZHER2K
#define F77_sgemm SGEMM
#define F77_ssymm SSYMM
#define F77_ssyrk SSYRK
#define F77_ssyr2k SSYR2K
#define F77_strmm STRMM
#define F77_strsm STRSM
#define F77_dgemm DGEMM
#define F77_dsymm DSYMM
#define F77_dsyrk DSYRK
#define F77_dsyr2k DSYR2K
#define F77_dtrmm DTRMM
#define F77_dtrsm DTRSM
#define F77_cgemm CGEMM
#define F77_csymm CSYMM
#define F77_csyrk CSYRK
#define F77_csyr2k CSYR2K
#define F77_ctrmm CTRMM
#define F77_ctrsm CTRSM
#define F77_zgemm ZGEMM
#define F77_zsymm ZSYMM
#define F77_zsyrk ZSYRK
#define F77_zsyr2k ZSYR2K
#define F77_ztrmm ZTRMM
#define F77_ztrsm ZTRSM
#elif defined(NOCHANGE)
/*
* Level 1 BLAS
*/
#define F77_xerbla xerbla
#define F77_srotg srotg
#define F77_srotmg srotmg
#define F77_srot srot
#define F77_srotm srotm
#define F77_drotg drotg
#define F77_drotmg drotmg
#define F77_drot drot
#define F77_drotm drotm
#define F77_sswap sswap
#define F77_scopy scopy
#define F77_saxpy saxpy
#define F77_isamax_sub isamaxsub
#define F77_dswap dswap
#define F77_dcopy dcopy
#define F77_daxpy daxpy
#define F77_idamax_sub idamaxsub
#define F77_cswap cswap
#define F77_ccopy ccopy
#define F77_caxpy caxpy
#define F77_icamax_sub icamaxsub
#define F77_zswap zswap
#define F77_zcopy zcopy
#define F77_zaxpy zaxpy
#define F77_izamax_sub izamaxsub
#define F77_sdot_sub sdotsub
#define F77_ddot_sub ddotsub
#define F77_dsdot_sub dsdotsub
#define F77_sscal sscal
#define F77_dscal dscal
#define F77_cscal cscal
#define F77_zscal zscal
#define F77_csscal csscal
#define F77_zdscal zdscal
#define F77_cdotu_sub cdotusub
#define F77_cdotc_sub cdotcsub
#define F77_zdotu_sub zdotusub
#define F77_zdotc_sub zdotcsub
#define F77_snrm2_sub snrm2sub
#define F77_sasum_sub sasumsub
#define F77_dnrm2_sub dnrm2sub
#define F77_dasum_sub dasumsub
#define F77_scnrm2_sub scnrm2sub
#define F77_scasum_sub scasumsub
#define F77_dznrm2_sub dznrm2sub
#define F77_dzasum_sub dzasumsub
#define F77_sdsdot_sub sdsdotsub
/*
* Level 2 BLAS
*/
#define F77_ssymv ssymv
#define F77_ssbmv ssbmv
#define F77_sspmv sspmv
#define F77_sger sger
#define F77_ssyr ssyr
#define F77_sspr sspr
#define F77_ssyr2 ssyr2
#define F77_sspr2 sspr2
#define F77_dsymv dsymv
#define F77_dsbmv dsbmv
#define F77_dspmv dspmv
#define F77_dger dger
#define F77_dsyr dsyr
#define F77_dspr dspr
#define F77_dsyr2 dsyr2
#define F77_dspr2 dspr2
#define F77_chemv chemv
#define F77_chbmv chbmv
#define F77_chpmv chpmv
#define F77_cgeru cgeru
#define F77_cgerc cgerc
#define F77_cher cher
#define F77_chpr chpr
#define F77_cher2 cher2
#define F77_chpr2 chpr2
#define F77_zhemv zhemv
#define F77_zhbmv zhbmv
#define F77_zhpmv zhpmv
#define F77_zgeru zgeru
#define F77_zgerc zgerc
#define F77_zher zher
#define F77_zhpr zhpr
#define F77_zher2 zher2
#define F77_zhpr2 zhpr2
#define F77_sgemv sgemv
#define F77_sgbmv sgbmv
#define F77_strmv strmv
#define F77_stbmv stbmv
#define F77_stpmv stpmv
#define F77_strsv strsv
#define F77_stbsv stbsv
#define F77_stpsv stpsv
#define F77_dgemv dgemv
#define F77_dgbmv dgbmv
#define F77_dtrmv dtrmv
#define F77_dtbmv dtbmv
#define F77_dtpmv dtpmv
#define F77_dtrsv dtrsv
#define F77_dtbsv dtbsv
#define F77_dtpsv dtpsv
#define F77_cgemv cgemv
#define F77_cgbmv cgbmv
#define F77_ctrmv ctrmv
#define F77_ctbmv ctbmv
#define F77_ctpmv ctpmv
#define F77_ctrsv ctrsv
#define F77_ctbsv ctbsv
#define F77_ctpsv ctpsv
#define F77_zgemv zgemv
#define F77_zgbmv zgbmv
#define F77_ztrmv ztrmv
#define F77_ztbmv ztbmv
#define F77_ztpmv ztpmv
#define F77_ztrsv ztrsv
#define F77_ztbsv ztbsv
#define F77_ztpsv ztpsv
/*
* Level 3 BLAS
*/
#define F77_chemm chemm
#define F77_cherk cherk
#define F77_cher2k cher2k
#define F77_zhemm zhemm
#define F77_zherk zherk
#define F77_zher2k zher2k
#define F77_sgemm sgemm
#define F77_ssymm ssymm
#define F77_ssyrk ssyrk
#define F77_ssyr2k ssyr2k
#define F77_strmm strmm
#define F77_strsm strsm
#define F77_dgemm dgemm
#define F77_dsymm dsymm
#define F77_dsyrk dsyrk
#define F77_dsyr2k dsyr2k
#define F77_dtrmm dtrmm
#define F77_dtrsm dtrsm
#define F77_cgemm cgemm
#define F77_csymm csymm
#define F77_csyrk csyrk
#define F77_csyr2k csyr2k
#define F77_ctrmm ctrmm
#define F77_ctrsm ctrsm
#define F77_zgemm zgemm
#define F77_zsymm zsymm
#define F77_zsyrk zsyrk
#define F77_zsyr2k zsyr2k
#define F77_ztrmm ztrmm
#define F77_ztrsm ztrsm
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
void
F77_xerbla
(
FCHAR
,
void
*
);
/*
* Level 1 Fortran Prototypes
*/
/* Single Precision */
void
F77_srot
(
FINT
,
float
*
,
FINT
,
float
*
,
FINT
,
const
float
*
,
const
float
*
);
void
F77_srotg
(
float
*
,
float
*
,
float
*
,
float
*
);
void
F77_srotm
(
FINT
,
float
*
,
FINT
,
float
*
,
FINT
,
const
float
*
);
void
F77_srotmg
(
float
*
,
float
*
,
float
*
,
const
float
*
,
float
*
);
void
F77_sswap
(
FINT
,
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_scopy
(
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_saxpy
(
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_sdot_sub
(
FINT
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
float
*
);
void
F77_sdsdot_sub
(
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
float
*
);
void
F77_sscal
(
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_snrm2_sub
(
FINT
,
const
float
*
,
FINT
,
float
*
);
void
F77_sasum_sub
(
FINT
,
const
float
*
,
FINT
,
float
*
);
void
F77_isamax_sub
(
FINT
,
const
float
*
,
FINT
,
FINT2
);
/* Double Precision */
void
F77_drot
(
FINT
,
double
*
,
FINT
,
double
*
,
FINT
,
const
double
*
,
const
double
*
);
void
F77_drotg
(
double
*
,
double
*
,
double
*
,
double
*
);
void
F77_drotm
(
FINT
,
double
*
,
FINT
,
double
*
,
FINT
,
const
double
*
);
void
F77_drotmg
(
double
*
,
double
*
,
double
*
,
const
double
*
,
double
*
);
void
F77_dswap
(
FINT
,
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dcopy
(
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_daxpy
(
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dswap
(
FINT
,
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dsdot_sub
(
FINT
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
double
*
);
void
F77_ddot_sub
(
FINT
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
double
*
);
void
F77_dscal
(
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dnrm2_sub
(
FINT
,
const
double
*
,
FINT
,
double
*
);
void
F77_dasum_sub
(
FINT
,
const
double
*
,
FINT
,
double
*
);
void
F77_idamax_sub
(
FINT
,
const
double
*
,
FINT
,
FINT2
);
/* Single Complex Precision */
void
F77_cswap
(
FINT
,
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ccopy
(
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_caxpy
(
FINT
,
const
void
*
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_cswap
(
FINT
,
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_cdotc_sub
(
FINT
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
void
F77_cdotu_sub
(
FINT
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
void
F77_cscal
(
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_icamax_sub
(
FINT
,
const
void
*
,
FINT
,
FINT2
);
void
F77_csscal
(
FINT
,
const
float
*
,
void
*
,
FINT
);
void
F77_scnrm2_sub
(
FINT
,
const
void
*
,
FINT
,
float
*
);
void
F77_scasum_sub
(
FINT
,
const
void
*
,
FINT
,
float
*
);
/* Double Complex Precision */
void
F77_zswap
(
FINT
,
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zcopy
(
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zaxpy
(
FINT
,
const
void
*
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zswap
(
FINT
,
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zdotc_sub
(
FINT
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
void
F77_zdotu_sub
(
FINT
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
void
F77_zdscal
(
FINT
,
const
double
*
,
void
*
,
FINT
);
void
F77_zscal
(
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_dznrm2_sub
(
FINT
,
const
void
*
,
FINT
,
double
*
);
void
F77_dzasum_sub
(
FINT
,
const
void
*
,
FINT
,
double
*
);
void
F77_izamax_sub
(
FINT
,
const
void
*
,
FINT
,
FINT2
);
/*
* Level 2 Fortran Prototypes
*/
/* Single Precision */
void
F77_sgemv
(
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_sgbmv
(
FCHAR
,
FINT
,
FINT
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ssymv
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ssbmv
(
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_sspmv
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_strmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_stbmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_strsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_stbsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_stpmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_stpsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_sger
(
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_ssyr
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_sspr
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
);
void
F77_sspr2
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
float
*
);
void
F77_ssyr2
(
FCHAR
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
float
*
,
FINT
);
/* Double Precision */
void
F77_dgemv
(
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dgbmv
(
FCHAR
,
FINT
,
FINT
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dsymv
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dsbmv
(
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dspmv
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dtrmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dtbmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dtrsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dtbsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dtpmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dtpsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dger
(
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dsyr
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dspr
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
);
void
F77_dspr2
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
double
*
);
void
F77_dsyr2
(
FCHAR
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
double
*
,
FINT
);
/* Single Complex Precision */
void
F77_cgemv
(
FCHAR
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_cgbmv
(
FCHAR
,
FINT
,
FINT
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_chemv
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_chbmv
(
FCHAR
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_chpmv
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_ctrmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ctbmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ctpmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_ctrsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ctbsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ctpsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_cgerc
(
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_cgeru
(
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_cher
(
FCHAR
,
FINT
,
const
float
*
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_cher2
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_chpr
(
FCHAR
,
FINT
,
const
float
*
,
const
void
*
,
FINT
,
void
*
);
void
F77_chpr2
(
FCHAR
,
FINT
,
const
float
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
/* Double Complex Precision */
void
F77_zgemv
(
FCHAR
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_zgbmv
(
FCHAR
,
FINT
,
FINT
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_zhemv
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_zhbmv
(
FCHAR
,
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_zhpmv
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_ztrmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ztbmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ztpmv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_ztrsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ztbsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_ztpsv
(
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
const
void
*
,
void
*
,
FINT
);
void
F77_zgerc
(
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zgeru
(
FINT
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zher
(
FCHAR
,
FINT
,
const
double
*
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zher2
(
FCHAR
,
FINT
,
const
void
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
,
FINT
);
void
F77_zhpr
(
FCHAR
,
FINT
,
const
double
*
,
const
void
*
,
FINT
,
void
*
);
void
F77_zhpr2
(
FCHAR
,
FINT
,
const
double
*
,
const
void
*
,
FINT
,
const
void
*
,
FINT
,
void
*
);
/*
* Level 3 Fortran Prototypes
*/
/* Single Precision */
void
F77_sgemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ssymm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ssyrk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ssyr2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_strmm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_strsm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
/* Double Precision */
void
F77_dgemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dsymm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dsyrk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dsyr2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_dtrmm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_dtrsm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
/* Single Complex Precision */
void
F77_cgemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_csymm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_chemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_csyrk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_cherk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_csyr2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_cher2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
const
float
*
,
FINT
,
const
float
*
,
float
*
,
FINT
);
void
F77_ctrmm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
void
F77_ctrsm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
float
*
,
const
float
*
,
FINT
,
float
*
,
FINT
);
/* Double Complex Precision */
void
F77_zgemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zsymm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zhemm
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zsyrk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zherk
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zsyr2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_zher2k
(
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
const
double
*
,
FINT
,
const
double
*
,
double
*
,
FINT
);
void
F77_ztrmm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
void
F77_ztrsm
(
FCHAR
,
FCHAR
,
FCHAR
,
FCHAR
,
FINT
,
FINT
,
const
double
*
,
const
double
*
,
FINT
,
double
*
,
FINT
);
#ifdef __cplusplus
}
#endif
#endif
/* CBLAS_F77_H */
dlib/external/cblas/cblas_icamax.c
0 → 100644
View file @
36fdfe68
/*
* cblas_icamax.c
*
* The program is a C interface to icamax.
* It calls the fortran wrapper before calling icamax.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
CBLAS_INDEX
cblas_icamax
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
F77_INT
iamax
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_icamax_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
iamax
);
return
iamax
?
iamax
-
1
:
0
;
}
dlib/external/cblas/cblas_idamax.c
0 → 100644
View file @
36fdfe68
/*
* cblas_idamax.c
*
* The program is a C interface to idamax.
* It calls the fortran wrapper before calling idamax.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
CBLAS_INDEX
cblas_idamax
(
const
int
N
,
const
double
*
X
,
const
int
incX
)
{
F77_INT
iamax
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_idamax_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
iamax
);
return
iamax
?
iamax
-
1
:
0
;
}
dlib/external/cblas/cblas_isamax.c
0 → 100644
View file @
36fdfe68
/*
* cblas_isamax.c
*
* The program is a C interface to isamax.
* It calls the fortran wrapper before calling isamax.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
CBLAS_INDEX
cblas_isamax
(
const
int
N
,
const
float
*
X
,
const
int
incX
)
{
F77_INT
iamax
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_isamax_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
iamax
);
return
iamax
?
iamax
-
1
:
0
;
}
dlib/external/cblas/cblas_izamax.c
0 → 100644
View file @
36fdfe68
/*
* cblas_izamax.c
*
* The program is a C interface to izamax.
* It calls the fortran wrapper before calling izamax.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
CBLAS_INDEX
cblas_izamax
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
F77_INT
iamax
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_izamax_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
iamax
);
return
(
iamax
?
iamax
-
1
:
0
);
}
dlib/external/cblas/cblas_sasum.c
0 → 100644
View file @
36fdfe68
/*
* cblas_sasum.c
*
* The program is a C interface to sasum.
* It calls the fortran wrapper before calling sasum.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_sasum
(
const
int
N
,
const
float
*
X
,
const
int
incX
)
{
float
asum
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_sasum_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
asum
);
return
asum
;
}
dlib/external/cblas/cblas_saxpy.c
0 → 100644
View file @
36fdfe68
/*
* cblas_saxpy.c
*
* The program is a C interface to saxpy.
* It calls the fortran wrapper before calling saxpy.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_saxpy
(
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
)
{
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
,
F77_incY
=
incY
;
#else
#define F77_N N
#define F77_incX incX
#define F77_incY incY
#endif
F77_saxpy
(
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
);
}
dlib/external/cblas/cblas_scasum.c
0 → 100644
View file @
36fdfe68
/*
* cblas_scasum.c
*
* The program is a C interface to scasum.
* It calls the fortran wrapper before calling scasum.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_scasum
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
float
asum
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_scasum_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
asum
);
return
asum
;
}
Prev
1
2
3
4
5
6
7
8
9
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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