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
848 additions
and
0 deletions
+848
-0
dlib/external/cblas/cblas_scnrm2.c
dlib/external/cblas/cblas_scnrm2.c
+23
-0
dlib/external/cblas/cblas_scopy.c
dlib/external/cblas/cblas_scopy.c
+22
-0
dlib/external/cblas/cblas_sdot.c
dlib/external/cblas/cblas_sdot.c
+25
-0
dlib/external/cblas/cblas_sdsdot.c
dlib/external/cblas/cblas_sdsdot.c
+25
-0
dlib/external/cblas/cblas_sgbmv.c
dlib/external/cblas/cblas_sgbmv.c
+72
-0
dlib/external/cblas/cblas_sgemm.c
dlib/external/cblas/cblas_sgemm.c
+95
-0
dlib/external/cblas/cblas_sgemv.c
dlib/external/cblas/cblas_sgemv.c
+67
-0
dlib/external/cblas/cblas_sger.c
dlib/external/cblas/cblas_sger.c
+39
-0
dlib/external/cblas/cblas_snrm2.c
dlib/external/cblas/cblas_snrm2.c
+23
-0
dlib/external/cblas/cblas_srot.c
dlib/external/cblas/cblas_srot.c
+22
-0
dlib/external/cblas/cblas_srotg.c
dlib/external/cblas/cblas_srotg.c
+14
-0
dlib/external/cblas/cblas_srotm.c
dlib/external/cblas/cblas_srotm.c
+22
-0
dlib/external/cblas/cblas_srotmg.c
dlib/external/cblas/cblas_srotmg.c
+15
-0
dlib/external/cblas/cblas_ssbmv.c
dlib/external/cblas/cblas_ssbmv.c
+65
-0
dlib/external/cblas/cblas_sscal.c
dlib/external/cblas/cblas_sscal.c
+21
-0
dlib/external/cblas/cblas_sspmv.c
dlib/external/cblas/cblas_sspmv.c
+62
-0
dlib/external/cblas/cblas_sspr.c
dlib/external/cblas/cblas_sspr.c
+61
-0
dlib/external/cblas/cblas_sspr2.c
dlib/external/cblas/cblas_sspr2.c
+60
-0
dlib/external/cblas/cblas_sswap.c
dlib/external/cblas/cblas_sswap.c
+22
-0
dlib/external/cblas/cblas_ssymm.c
dlib/external/cblas/cblas_ssymm.c
+93
-0
No files found.
dlib/external/cblas/cblas_scnrm2.c
0 → 100644
View file @
36fdfe68
/*
* cblas_scnrm2.c
*
* The program is a C interface to scnrm2.
* It calls the fortran wrapper before calling scnrm2.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_scnrm2
(
const
int
N
,
const
void
*
X
,
const
int
incX
)
{
float
nrm2
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_scnrm2_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
nrm2
);
return
nrm2
;
}
dlib/external/cblas/cblas_scopy.c
0 → 100644
View file @
36fdfe68
/*
* cblas_scopy.c
*
* The program is a C interface to scopy.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_scopy
(
const
int
N
,
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_scopy
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
);
}
dlib/external/cblas/cblas_sdot.c
0 → 100644
View file @
36fdfe68
/*
* cblas_sdot.c
*
* The program is a C interface to sdot.
* It calls the fortran wrapper before calling sdot.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_sdot
(
const
int
N
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
)
{
float
dot
;
#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_sdot_sub
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
&
dot
);
return
dot
;
}
dlib/external/cblas/cblas_sdsdot.c
0 → 100644
View file @
36fdfe68
/*
* cblas_sdsdot.c
*
* The program is a C interface to sdsdot.
* It calls the fortran wrapper before calling sdsdot.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_sdsdot
(
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
)
{
float
dot
;
#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_sdsdot_sub
(
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
&
dot
);
return
dot
;
}
dlib/external/cblas/cblas_sgbmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sgbmv.c
* This program is a C interface to sgbmv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sgbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
int
KL
,
const
int
KU
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
*
X
,
const
int
incX
,
const
float
beta
,
float
*
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
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_sgbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
F77_sgbmv
(
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
)
TA
=
'N'
;
else
{
cblas_xerbla
(
2
,
"cblas_sgbmv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
F77_sgbmv
(
F77_TA
,
&
F77_N
,
&
F77_M
,
&
F77_KU
,
&
F77_KL
,
&
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
cblas_xerbla
(
1
,
"cblas_sgbmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_sgemm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sgemm.c
* This program is a C interface to sgemm.
* Written by Keita Teranishi
* 4/8/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sgemm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_TRANSPOSE
TransB
,
const
int
M
,
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
TA
,
TB
;
#ifdef F77_CHAR
F77_CHAR
F77_TA
,
F77_TB
;
#else
#define F77_TA &TA
#define F77_TB &TB
#endif
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_K
=
K
,
F77_lda
=
lda
,
F77_ldb
=
ldb
;
F77_INT
F77_ldc
=
ldc
;
#else
#define F77_M M
#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
(
TransA
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
2
,
"cblas_sgemm"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
TransB
==
CblasTrans
)
TB
=
'T'
;
else
if
(
TransB
==
CblasConjTrans
)
TB
=
'C'
;
else
if
(
TransB
==
CblasNoTrans
)
TB
=
'N'
;
else
{
cblas_xerbla
(
3
,
"cblas_sgemm"
,
"Illegal TransB setting, %d
\n
"
,
TransB
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_TB
=
C2F_CHAR
(
&
TB
);
#endif
F77_sgemm
(
F77_TA
,
F77_TB
,
&
F77_M
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
TransA
==
CblasTrans
)
TB
=
'T'
;
else
if
(
TransA
==
CblasConjTrans
)
TB
=
'C'
;
else
if
(
TransA
==
CblasNoTrans
)
TB
=
'N'
;
else
{
cblas_xerbla
(
2
,
"cblas_sgemm"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
if
(
TransB
==
CblasTrans
)
TA
=
'T'
;
else
if
(
TransB
==
CblasConjTrans
)
TA
=
'C'
;
else
if
(
TransB
==
CblasNoTrans
)
TA
=
'N'
;
else
{
cblas_xerbla
(
2
,
"cblas_sgemm"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
F77_TB
=
C2F_CHAR
(
&
TB
);
#endif
F77_sgemm
(
F77_TA
,
F77_TB
,
&
F77_N
,
&
F77_M
,
&
F77_K
,
&
alpha
,
B
,
&
F77_ldb
,
A
,
&
F77_lda
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_sgemm"
,
"Illegal Order setting, %d
\n
"
,
Order
);
}
dlib/external/cblas/cblas_sgemv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sgemv.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_sgemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
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
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
;
#else
#define F77_M M
#define F77_N N
#define F77_lda lda
#define F77_incX incX
#define F77_incY incY
#endif
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_sgemv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
F77_sgemv
(
F77_TA
,
&
F77_M
,
&
F77_N
,
&
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
)
TA
=
'N'
;
else
{
cblas_xerbla
(
2
,
"cblas_sgemv"
,
"Illegal TransA setting, %d
\n
"
,
TransA
);
return
;
}
#ifdef F77_CHAR
F77_TA
=
C2F_CHAR
(
&
TA
);
#endif
F77_sgemv
(
F77_TA
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
cblas_xerbla
(
1
,
"cblas_sgemv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_sger.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sger.c
* This program is a C interface to sger.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sger
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
,
float
*
A
,
const
int
lda
)
{
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_lda
=
lda
,
F77_incX
=
incX
,
F77_incY
=
incY
;
#else
#define F77_M M
#define F77_N N
#define F77_incX incX
#define F77_incY incY
#define F77_lda lda
#endif
if
(
order
==
CblasColMajor
)
{
F77_sger
(
&
F77_M
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
A
,
&
F77_lda
);
}
else
if
(
order
==
CblasRowMajor
)
{
F77_sger
(
&
F77_N
,
&
F77_M
,
&
alpha
,
Y
,
&
F77_incY
,
X
,
&
F77_incX
,
A
,
&
F77_lda
);
}
else
cblas_xerbla
(
1
,
"cblas_sger"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_snrm2.c
0 → 100644
View file @
36fdfe68
/*
* cblas_snrm2.c
*
* The program is a C interface to snrm2.
* It calls the fortran wrapper before calling snrm2.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
float
cblas_snrm2
(
const
int
N
,
const
float
*
X
,
const
int
incX
)
{
float
nrm2
;
#ifdef F77_INT
F77_INT
F77_N
=
N
,
F77_incX
=
incX
;
#else
#define F77_N N
#define F77_incX incX
#endif
F77_snrm2_sub
(
&
F77_N
,
X
,
&
F77_incX
,
&
nrm2
);
return
nrm2
;
}
dlib/external/cblas/cblas_srot.c
0 → 100644
View file @
36fdfe68
/*
* cblas_srot.c
*
* The program is a C interface to srot.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_srot
(
const
int
N
,
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
,
const
float
c
,
const
float
s
)
{
#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_srot
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
&
c
,
&
s
);
}
dlib/external/cblas/cblas_srotg.c
0 → 100644
View file @
36fdfe68
/*
* cblas_srotg.c
*
* The program is a C interface to srotg.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_srotg
(
float
*
a
,
float
*
b
,
float
*
c
,
float
*
s
)
{
F77_srotg
(
a
,
b
,
c
,
s
);
}
dlib/external/cblas/cblas_srotm.c
0 → 100644
View file @
36fdfe68
/*
* cblas_srotm.c
*
* The program is a C interface to srotm.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_srotm
(
const
int
N
,
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
,
const
float
*
P
)
{
#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_srotm
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
P
);
}
dlib/external/cblas/cblas_srotmg.c
0 → 100644
View file @
36fdfe68
/*
* cblas_srotmg.c
*
* The program is a C interface to srotmg.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_srotmg
(
float
*
d1
,
float
*
d2
,
float
*
b1
,
const
float
b2
,
float
*
p
)
{
F77_srotmg
(
d1
,
d2
,
b1
,
&
b2
,
p
);
}
dlib/external/cblas/cblas_ssbmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssbmv.c
* This program is a C interface to ssbmv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
int
K
,
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_K
=
K
,
F77_lda
=
lda
,
F77_incX
=
incX
,
F77_incY
=
incY
;
#else
#define F77_N N
#define F77_K K
#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_ssbmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssbmv
(
F77_UL
,
&
F77_N
,
&
F77_K
,
&
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_ssbmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_ssbmv
(
F77_UL
,
&
F77_N
,
&
F77_K
,
&
alpha
,
A
,
&
F77_lda
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
cblas_xerbla
(
1
,
"cblas_ssbmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_sscal.c
0 → 100644
View file @
36fdfe68
/*
* cblas_sscal.c
*
* The program is a C interface to sscal.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sscal
(
const
int
N
,
const
float
alpha
,
float
*
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_sscal
(
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
);
}
dlib/external/cblas/cblas_sspmv.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sspmv.c
* This program is a C interface to sspmv.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sspmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
float
*
AP
,
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_incX
=
incX
,
F77_incY
=
incY
;
#else
#define F77_N N
#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_sspmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspmv
(
F77_UL
,
&
F77_N
,
&
alpha
,
AP
,
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_sspmv"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspmv
(
F77_UL
,
&
F77_N
,
&
alpha
,
AP
,
X
,
&
F77_incX
,
&
beta
,
Y
,
&
F77_incY
);
}
else
cblas_xerbla
(
1
,
"cblas_sspmv"
,
"Illegal Order setting, %d
\n
"
,
order
);
}
dlib/external/cblas/cblas_sspr.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sspr.c
* This program is a C interface to sspr.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sspr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
float
*
Ap
)
{
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
;
#else
#define F77_N N
#define F77_incX incX
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_sspr"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspr
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Ap
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_sspr"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspr
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Ap
);
}
else
cblas_xerbla
(
1
,
"cblas_sspr"
,
"Illegal Order setting, %d
\n
"
,
order
);
return
;
}
dlib/external/cblas/cblas_sspr2.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_sspr2.c
* This program is a C interface to sspr2.
* Written by Keita Teranishi
* 4/6/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sspr2
(
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
)
{
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
;
#else
#define F77_N N
#define F77_incX incX
#define F77_incY incY
#endif
if
(
order
==
CblasColMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
{
cblas_xerbla
(
2
,
"cblas_sspr2"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspr2
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
A
);
}
else
if
(
order
==
CblasRowMajor
)
{
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_sspr2"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
#endif
F77_sspr2
(
F77_UL
,
&
F77_N
,
&
alpha
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
,
A
);
}
else
cblas_xerbla
(
1
,
"cblas_sspr2"
,
"Illegal Order setting, %d
\n
"
,
order
);
}
dlib/external/cblas/cblas_sswap.c
0 → 100644
View file @
36fdfe68
/*
* cblas_sswap.c
*
* The program is a C interface to sswap.
*
* Written by Keita Teranishi. 2/11/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_sswap
(
const
int
N
,
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_sswap
(
&
F77_N
,
X
,
&
F77_incX
,
Y
,
&
F77_incY
);
}
dlib/external/cblas/cblas_ssymm.c
0 → 100644
View file @
36fdfe68
/*
*
* cblas_ssymm.c
* This program is a C interface to ssymm.
* Written by Keita Teranishi
* 4/8/1998
*
*/
#include "cblas.h"
#include "cblas_f77.h"
void
cblas_ssymm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
*
B
,
const
int
ldb
,
const
float
beta
,
float
*
C
,
const
int
ldc
)
{
char
SD
,
UL
;
#ifdef F77_CHAR
F77_CHAR
F77_SD
,
F77_UL
;
#else
#define F77_SD &SD
#define F77_UL &UL
#endif
#ifdef F77_INT
F77_INT
F77_M
=
M
,
F77_N
=
N
,
F77_lda
=
lda
,
F77_ldb
=
ldb
;
F77_INT
F77_ldc
=
ldc
;
#else
#define F77_M M
#define F77_N N
#define F77_lda lda
#define F77_ldb ldb
#define F77_ldc ldc
#endif
if
(
Order
==
CblasColMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'R'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'L'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssymm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'U'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'L'
;
else
{
cblas_xerbla
(
3
,
"cblas_ssymm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_SD
=
C2F_CHAR
(
&
SD
);
#endif
F77_ssymm
(
F77_SD
,
F77_UL
,
&
F77_M
,
&
F77_N
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
if
(
Order
==
CblasRowMajor
)
{
if
(
Side
==
CblasRight
)
SD
=
'L'
;
else
if
(
Side
==
CblasLeft
)
SD
=
'R'
;
else
{
cblas_xerbla
(
2
,
"cblas_ssymm"
,
"Illegal Side setting, %d
\n
"
,
Side
);
return
;
}
if
(
Uplo
==
CblasUpper
)
UL
=
'L'
;
else
if
(
Uplo
==
CblasLower
)
UL
=
'U'
;
else
{
cblas_xerbla
(
3
,
"cblas_ssymm"
,
"Illegal Uplo setting, %d
\n
"
,
Uplo
);
return
;
}
#ifdef F77_CHAR
F77_UL
=
C2F_CHAR
(
&
UL
);
F77_SD
=
C2F_CHAR
(
&
SD
);
#endif
F77_ssymm
(
F77_SD
,
F77_UL
,
&
F77_N
,
&
F77_M
,
&
alpha
,
A
,
&
F77_lda
,
B
,
&
F77_ldb
,
&
beta
,
C
,
&
F77_ldc
);
}
else
cblas_xerbla
(
1
,
"cblas_ssymm"
,
"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