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
1568 additions
and
0 deletions
+1568
-0
dlib/external/cblas/cblas_ssymv.c
dlib/external/cblas/cblas_ssymv.c
+65
-0
dlib/external/cblas/cblas_ssyr.c
dlib/external/cblas/cblas_ssyr.c
+59
-0
dlib/external/cblas/cblas_ssyr2.c
dlib/external/cblas/cblas_ssyr2.c
+65
-0
dlib/external/cblas/cblas_ssyr2k.c
dlib/external/cblas/cblas_ssyr2k.c
+96
-0
dlib/external/cblas/cblas_ssyrk.c
dlib/external/cblas/cblas_ssyrk.c
+95
-0
dlib/external/cblas/cblas_stbmv.c
dlib/external/cblas/cblas_stbmv.c
+103
-0
dlib/external/cblas/cblas_stbsv.c
dlib/external/cblas/cblas_stbsv.c
+103
-0
dlib/external/cblas/cblas_stpmv.c
dlib/external/cblas/cblas_stpmv.c
+99
-0
dlib/external/cblas/cblas_stpsv.c
dlib/external/cblas/cblas_stpsv.c
+99
-0
dlib/external/cblas/cblas_strmm.c
dlib/external/cblas/cblas_strmm.c
+125
-0
dlib/external/cblas/cblas_strmv.c
dlib/external/cblas/cblas_strmv.c
+103
-0
dlib/external/cblas/cblas_strsm.c
dlib/external/cblas/cblas_strsm.c
+120
-0
dlib/external/cblas/cblas_strsv.c
dlib/external/cblas/cblas_strsv.c
+102
-0
dlib/external/cblas/cblas_xerbla.c
dlib/external/cblas/cblas_xerbla.c
+66
-0
dlib/external/cblas/cblas_zaxpy.c
dlib/external/cblas/cblas_zaxpy.c
+22
-0
dlib/external/cblas/cblas_zcopy.c
dlib/external/cblas/cblas_zcopy.c
+22
-0
dlib/external/cblas/cblas_zdotc_sub.c
dlib/external/cblas/cblas_zdotc_sub.c
+24
-0
dlib/external/cblas/cblas_zdotu_sub.c
dlib/external/cblas/cblas_zdotu_sub.c
+24
-0
dlib/external/cblas/cblas_zdscal.c
dlib/external/cblas/cblas_zdscal.c
+21
-0
dlib/external/cblas/cblas_zgbmv.c
dlib/external/cblas/cblas_zgbmv.c
+155
-0
No files found.
dlib/external/cblas/cblas_ssymv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssymv.c
* This program is a C interface to ssymv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssymv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
*
X
,
const
int
incX
,
const
float
beta
,
float
*
Y
,
const
int
incY
)
{
char
UL
;
#ifdef F77_CHAR
F77_CHAR
F77_UL
;
#else
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_lda
=
lda
,
F77_incX
=
incX
,
F77_incY
=
incY
;
#else
#define F77_N N
#define F77_lda lda
#define F77_incX incX
#define F77_incY incY
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssymv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssymv
(
F77_UL
,
&
F77_N
,
&
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssymv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssymv
(
F77_UL
,
&
F77_N
,
&
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
cblas_xerbla
(
1
,
"cblas_ssymv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_ssyr.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssyr.c
* This program is a C interface to ssyr.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssyr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
float
*
A
,
const
int
lda
)
{
char
UL
;
#ifdef F77_CHAR
F77_CHAR
F77_UL
;
#else
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
,
F77_lda
=
lda
;
#else
#define F77_N N
#define F77_incX incX
#define F77_lda lda
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssyr"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssyr
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
A
,
&
F77_lda
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssyr"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssyr
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
A
,
&
F77_lda
);
}
else
cblas_xerbla
(
1
,
"cblas_ssyr"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_ssyr2.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssyr2.c
* This program is a C interface to ssyr2.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssyr2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
,
float
*
A
,
const
int
lda
)
{
char
UL
;
#ifdef F77_CHAR
F77_CHAR
F77_UL
;
#else
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
,
F77_incY
=
incY
,
F77_lda
=
lda
;
#else
#define F77_N N
#define F77_incX incX
#define F77_incY incY
#define F77_lda lda
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssyr2"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssyr2
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
A
,
&
F77_lda
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssyr2"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssyr2
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
A
,
&
F77_lda
);
}
else
cblas_xerbla
(
1
,
"cblas_ssyr2"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_ssyr2k.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssyr2k.c
* This program is a C interface to ssyr2k.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssyr2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
*
B
,
const
int
ldb
,
const
float
beta
,
float
*
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_ssyr2k"
,
"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_ssyr2k"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_ssyr2k
(
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_ssyr2k"
,
"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_ssyr2k"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_ssyr2k
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_ssyr2k"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_ssyrk.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssyrk.c
* This program is a C interface to ssyrk.
* Written by Keita Teranishi
* 4/8/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssyrk
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
beta
,
float
*
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_ssyrk"
,
"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_ssyrk"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_ssyrk
(
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_ssyrk"
,
"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_ssyrk"
,
"Illegal Trans setting, %d
\n
"
,
Trans
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_TR
=
C2F_CHAR
(
&
TR
);
#endif
F77_ssyrk
(
F77_UL
,
F77_TR
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_ssyrk"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_stbmv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_stbmv.c
* This program is a C interface to stbmv.
* Written by Keita Teranishi
* 3/3/1998
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_stbmv
(
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
float
*
A
,
const
int
lda
,
float
*
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_stbmv"
,
"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_stbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stbmv"
,
"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_stbmv
(
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_stbmv"
,
"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_stbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stbmv"
,
"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_stbmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_stbmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_stbsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_stbsv.c
* The program is a C interface to stbsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_stbsv
(
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
float
*
A
,
const
int
lda
,
float
*
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_stbsv"
,
"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_stbsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stbsv"
,
"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_stbsv
(
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_stbsv"
,
"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_stbsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stbsv"
,
"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_stbsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_K
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_stbsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_stpmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_stpmv.c
* This program is a C interface to stpmv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_stpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
float
*
Ap
,
float
*
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_stpmv"
,
"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_stpmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stpmv"
,
"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_stpmv
(
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_stpmv"
,
"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_stpmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stpmv"
,
"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_stpmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_stpmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_stpsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_stpsv.c
* The program is a C interface to stpsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_stpsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
float
*
Ap
,
float
*
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_stpsv"
,
"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_stpsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stpsv"
,
"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_stpsv
(
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_stpsv"
,
"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_stpsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_stpsv"
,
"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_stpsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
Ap
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_stpsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_strmm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_strmm.c
* This program is a C interface to strmm.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_strmm
(
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
float
alpha
,
const
float
*
A
,
const
int
lda
,
float
*
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_strmm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
3
,
"cblas_strmm"
,
"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_strmm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_strmm"
,
"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_strmm
(
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_strmm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_strmm"
,
"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_strmm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_strmm"
,
"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_strmm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
cblas_xerbla
(
1
,
"cblas_strmm"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_strmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_strmv.c
* This program is a C interface to strmv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_strmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
float
*
A
,
const
int
lda
,
float
*
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_strmv"
,
"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_strmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_strmv"
,
"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_strmv
(
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_strmv"
,
"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_strmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_strmv"
,
"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_strmv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_strmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_strsm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_strsm.c
* This program is a C interface to strsm.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_strsm
(
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
float
alpha
,
const
float
*
A
,
const
int
lda
,
float
*
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_strsm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
3
,
"cblas_strsm"
,
"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_strsm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_strsm"
,
"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_strsm
(
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_strsm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_strsm"
,
"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_strsm"
,
"Illegal Trans setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
5
,
"cblas_strsm"
,
"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_strsm
(
F77_SD
,
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
);
}
else
cblas_xerbla
(
1
,
"cblas_strsm"
,
"Illegal Order setting, %d
\n
"
,
Order
);
return
;
}
dlib/external/cblas/cblas_strsv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_strsv.c
* The program is a C interface to strsv.
*
* Keita Teranishi 5/20/98
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_strsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
float
*
A
,
const
int
lda
,
float
*
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_strsv"
,
"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_strsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_strsv"
,
"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_strsv
(
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_strsv"
,
"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_strsv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
Diag
==
CblasUnit
)
DI
=
'U'
;
else
if
(
Diag
==
CblasNonUnit
)
DI
=
'N'
;
else
{
cblas_xerbla
(
4
,
"cblas_strsv"
,
"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_strsv
(
F77_UL
,
F77_TA
,
F77_DI
,
&
F77_N
,
A
,
&
F77_lda
,
X
,
&
F77_incX
);
}
else
cblas_xerbla
(
1
,
"cblas_strsv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_xerbla.c
0 → 100644
View file @
36fdfe68
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_xerbla
(
int
info
,
const
char
*
rout
,
const
char
*
form
,
...)
{
char
empty
[
1
]
=
""
;
va_list
argptr
;
va_start
(
argptr
,
form
);
{
if
(
strstr
(
rout
,
"gemm"
)
!=
0
)
{
if
(
info
==
5
)
info
=
4
;
else
if
(
info
==
4
)
info
=
5
;
else
if
(
info
==
11
)
info
=
9
;
else
if
(
info
==
9
)
info
=
11
;
}
else
if
(
strstr
(
rout
,
"symm"
)
!=
0
||
strstr
(
rout
,
"hemm"
)
!=
0
)
{
if
(
info
==
5
)
info
=
4
;
else
if
(
info
==
4
)
info
=
5
;
}
else
if
(
strstr
(
rout
,
"trmm"
)
!=
0
||
strstr
(
rout
,
"trsm"
)
!=
0
)
{
if
(
info
==
7
)
info
=
6
;
else
if
(
info
==
6
)
info
=
7
;
}
else
if
(
strstr
(
rout
,
"gemv"
)
!=
0
)
{
if
(
info
==
4
)
info
=
3
;
else
if
(
info
==
3
)
info
=
4
;
}
else
if
(
strstr
(
rout
,
"gbmv"
)
!=
0
)
{
if
(
info
==
4
)
info
=
3
;
else
if
(
info
==
3
)
info
=
4
;
else
if
(
info
==
6
)
info
=
5
;
else
if
(
info
==
5
)
info
=
6
;
}
else
if
(
strstr
(
rout
,
"ger"
)
!=
0
)
{
if
(
info
==
3
)
info
=
2
;
else
if
(
info
==
2
)
info
=
3
;
else
if
(
info
==
8
)
info
=
6
;
else
if
(
info
==
6
)
info
=
8
;
}
else
if
(
(
strstr
(
rout
,
"her2"
)
!=
0
||
strstr
(
rout
,
"hpr2"
)
!=
0
)
&&
strstr
(
rout
,
"her2k"
)
==
0
)
{
if
(
info
==
8
)
info
=
6
;
else
if
(
info
==
6
)
info
=
8
;
}
}
if
(
info
)
fprintf
(
stderr
,
"Parameter %d to routine %s was incorrect
\n
"
,
info
,
rout
);
vfprintf
(
stderr
,
form
,
argptr
);
va_end
(
argptr
);
if
(
info
&&
!
info
)
F77_xerbla
(
empty
,
&
info
);
/* Force link of our F77 error handler */
exit
(
-
1
);
}
dlib/external/cblas/cblas_zaxpy.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zaxpy.c
*
* The program is a C interface to zaxpy.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zaxpy
(
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
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_zaxpy
(
&
F77_N
,
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
);
}
dlib/external/cblas/cblas_zcopy.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zcopy.c
*
* The program is a C interface to zcopy.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zcopy
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
*
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_zcopy
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
);
}
dlib/external/cblas/cblas_zdotc_sub.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zdotc_sub.c
*
* The program is a C interface to zdotc.
* It calls the fortran wrapper before calling zdotc.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zdotc_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotc
)
{
#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_zdotc_sub
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
dotc
);
return
;
}
dlib/external/cblas/cblas_zdotu_sub.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zdotu_sub.c
*
* The program is a C interface to zdotu.
* It calls the fortran wrapper before calling zdotu.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zdotu_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotu
)
{
#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_zdotu_sub
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
dotu
);
return
;
}
dlib/external/cblas/cblas_zdscal.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zdscal.c
*
* The program is a C interface to zdscal.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zdscal
(
const
int
N
,
const
double
alpha
,
void
*
X
,
const
int
incX
)
{
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_zdscal
(
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
);
}
dlib/external/cblas/cblas_zgbmv.c
0 → 100644
View file @
36fdfe68
/*
* cblas_zgbmv.c
* The program is a C interface of zgbmv
*
* Keita Teranishi 5/20/98
*
*/
#include <stdio.h>
#include <stdlib.h>
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_zgbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
int
KL
,
const
int
KU
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
)
{
char
TA
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
;
#else
#define F77_TA &TA
#endif
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_lda
=
lda
,
F77_incX
=
incX
,
F77_incY
=
incY
;
F77_INT
F77_KL
=
KL
,
F77_KU
=
KU
;
#else
#define F77_M M
#define F77_N N
#define F77_lda lda
#define F77_KL KL
#define F77_KU KU
#define F77_incX incx
#define F77_incY incY
#endif
int
n
,
i
=
0
,
incx
=
incX
;
const
double
*
xx
=
(
double
*
)
X
,
*
alp
=
(
double
*
)
alpha
,
*
bet
=
(
double
*
)
beta
;
double
ALPHA
[
2
],
BETA
[
2
];
int
tincY
,
tincx
;
double
*
x
=
(
double
*
)
X
,
*
y
=
(
double
*
)
Y
,
*
st
=
0
,
*
tx
;
if
(
order
==
CblasColMajor
)
{
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
{
cblas_xerbla
(
2
,
"cblas_zgbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
F77_zgbmv
(
F77_TA
,
&
F77_M
,
&
F77_N
,
&
F77_KL
,
&
F77_KU
,
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
beta
,
Y
,
&
F77_incY
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
TransA
==
CblasNoTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasTrans
)
TA
=
'N'
;
else
if
(
TransA
==
CblasConjTrans
)
{
ALPHA
[
0
]
=
*
alp
;
ALPHA
[
1
]
=
-
alp
[
1
];
BETA
[
0
]
=
*
bet
;
BETA
[
1
]
=
-
bet
[
1
];
TA
=
'N'
;
if
(
M
>
0
)
{
n
=
M
<<
1
;
x
=
malloc
(
n
*
sizeof
(
double
));
tx
=
x
;
if
(
incX
>
0
)
{
i
=
incX
<<
1
;
tincx
=
2
;
st
=
x
+
n
;
}
else
{
i
=
incX
*
(
-
2
);
tincx
=
-
2
;
st
=
x
-
2
;
x
+=
(
n
-
2
);
}
do
{
*
x
=
*
xx
;
x
[
1
]
=
-
xx
[
1
];
x
+=
tincx
;
xx
+=
i
;
}
while
(
x
!=
st
);
x
=
tx
;
#ifdef F77_INT
F77_incX
=
1
;
#else
incx
=
1
;
#endif
if
(
incY
>
0
)
tincY
=
incY
;
else
tincY
=
-
incY
;
y
++
;
if
(
N
>
0
)
{
i
=
tincY
<<
1
;
n
=
i
*
N
;
st
=
y
+
n
;
do
{
*
y
=
-
(
*
y
);
y
+=
i
;
}
while
(
y
!=
st
);
y
-=
n
;
}
}
else
x
=
(
double
*
)
X
;
}
else
{
cblas_xerbla
(
2
,
"cblas_zgbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
if
(
TransA
==
CblasConjTrans
)
F77_zgbmv
(
F77_TA
,
&
F77_N
,
&
F77_M
,
&
F77_KU
,
&
F77_KL
,
ALPHA
,
A
,
&
F77_lda
,
x
,
&
F77_incX
,
BETA
,
Y
,
&
F77_incY
);
else
F77_zgbmv
(
F77_TA
,
&
F77_N
,
&
F77_M
,
&
F77_KU
,
&
F77_KL
,
alpha
,
A
,
&
F77_lda
,
x
,
&
F77_incX
,
beta
,
Y
,
&
F77_incY
);
if
(
TransA
==
CblasConjTrans
)
{
if
(
x
!=
X
)
free
(
x
);
if
(
N
>
0
)
{
do
{
*
y
=
-
(
*
y
);
y
+=
i
;
}
while
(
y
!=
st
);
}
}
}
else
cblas_xerbla
(
1
,
"cblas_zgbmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
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