Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
dlib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
钟尚武
dlib
Commits
53de1310
Commit
53de1310
authored
7 years ago
by
Davis King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added CBLAS_INT_TYPE for this version of the cblas binding as well.
parent
0ef7198e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
78 additions
and
74 deletions
+78
-74
matrix_blas_bindings.h
dlib/matrix/matrix_blas_bindings.h
+78
-74
No files found.
dlib/matrix/matrix_blas_bindings.h
View file @
53de1310
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
#include "matrix_assign.h"
#include "matrix_assign.h"
#include "matrix_conj_trans.h"
#include "matrix_conj_trans.h"
#include "cblas_constants.h"
#include "cblas_constants.h"
#include <stdint.h>
//#include <iostream>
//#include <iostream>
//using namespace std;
//using namespace std;
...
@@ -47,92 +48,95 @@ namespace dlib
...
@@ -47,92 +48,95 @@ namespace dlib
#ifndef CBLAS_H
#ifndef CBLAS_H
extern
"C"
extern
"C"
{
{
#ifndef CBLAS_INT_TYPE
#define CBLAS_INT_TYPE int
#endif
// Here we declare the prototypes for the CBLAS calls used by the BLAS bindings below
// Here we declare the prototypes for the CBLAS calls used by the BLAS bindings below
void
cblas_saxpy
(
const
int
N
,
const
float
alpha
,
const
float
*
X
,
void
cblas_saxpy
(
const
CBLAS_INT_TYPE
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
);
const
CBLAS_INT_TYPE
incX
,
float
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_daxpy
(
const
int
N
,
const
double
alpha
,
const
double
*
X
,
void
cblas_daxpy
(
const
CBLAS_INT_TYPE
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
);
const
CBLAS_INT_TYPE
incX
,
double
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_caxpy
(
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
void
cblas_caxpy
(
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
const
CBLAS_INT_TYPE
incX
,
void
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_zaxpy
(
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
void
cblas_zaxpy
(
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
const
CBLAS_INT_TYPE
incX
,
void
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_sscal
(
const
int
N
,
const
float
alpha
,
float
*
X
,
const
int
incX
);
void
cblas_sscal
(
const
CBLAS_INT_TYPE
N
,
const
float
alpha
,
float
*
X
,
const
CBLAS_INT_TYPE
incX
);
void
cblas_dscal
(
const
int
N
,
const
double
alpha
,
double
*
X
,
const
int
incX
);
void
cblas_dscal
(
const
CBLAS_INT_TYPE
N
,
const
double
alpha
,
double
*
X
,
const
CBLAS_INT_TYPE
incX
);
void
cblas_cscal
(
const
int
N
,
const
void
*
alpha
,
void
*
X
,
const
int
incX
);
void
cblas_cscal
(
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
void
*
X
,
const
CBLAS_INT_TYPE
incX
);
void
cblas_zscal
(
const
int
N
,
const
void
*
alpha
,
void
*
X
,
const
int
incX
);
void
cblas_zscal
(
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
void
*
X
,
const
CBLAS_INT_TYPE
incX
);
void
cblas_sgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
void
cblas_sgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_TRANSPOSE
TransB
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransB
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
int
K
,
const
float
alpha
,
const
float
*
A
,
const
CBLAS_INT_TYPE
K
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
*
B
,
const
int
ldb
,
const
CBLAS_INT_TYPE
lda
,
const
float
*
B
,
const
CBLAS_INT_TYPE
ldb
,
const
float
beta
,
float
*
C
,
const
int
ldc
);
const
float
beta
,
float
*
C
,
const
CBLAS_INT_TYPE
ldc
);
void
cblas_dgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
void
cblas_dgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_TRANSPOSE
TransB
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransB
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
int
K
,
const
double
alpha
,
const
double
*
A
,
const
CBLAS_INT_TYPE
K
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
B
,
const
int
ldb
,
const
CBLAS_INT_TYPE
lda
,
const
double
*
B
,
const
CBLAS_INT_TYPE
ldb
,
const
double
beta
,
double
*
C
,
const
int
ldc
);
const
double
beta
,
double
*
C
,
const
CBLAS_INT_TYPE
ldc
);
void
cblas_cgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
void
cblas_cgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_TRANSPOSE
TransB
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransB
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
CBLAS_INT_TYPE
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
CBLAS_INT_TYPE
lda
,
const
void
*
B
,
const
CBLAS_INT_TYPE
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
const
void
*
beta
,
void
*
C
,
const
CBLAS_INT_TYPE
ldc
);
void
cblas_zgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
void
cblas_zgemm
(
const
CBLAS_ORDER
Order
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_TRANSPOSE
TransB
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransB
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
CBLAS_INT_TYPE
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
CBLAS_INT_TYPE
lda
,
const
void
*
B
,
const
CBLAS_INT_TYPE
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
const
void
*
beta
,
void
*
C
,
const
CBLAS_INT_TYPE
ldc
);
void
cblas_sgemv
(
const
CBLAS_ORDER
order
,
void
cblas_sgemv
(
const
CBLAS_ORDER
order
,
const
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
float
alpha
,
const
float
*
A
,
const
int
lda
,
const
float
alpha
,
const
float
*
A
,
const
CBLAS_INT_TYPE
lda
,
const
float
*
X
,
const
int
incX
,
const
float
beta
,
const
float
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
float
beta
,
float
*
Y
,
const
int
incY
);
float
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_dgemv
(
const
CBLAS_ORDER
order
,
void
cblas_dgemv
(
const
CBLAS_ORDER
order
,
const
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
alpha
,
const
double
*
A
,
const
CBLAS_INT_TYPE
lda
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
const
double
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
double
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_cgemv
(
const
CBLAS_ORDER
order
,
void
cblas_cgemv
(
const
CBLAS_ORDER
order
,
const
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
alpha
,
const
void
*
A
,
const
CBLAS_INT_TYPE
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_zgemv
(
const
CBLAS_ORDER
order
,
void
cblas_zgemv
(
const
CBLAS_ORDER
order
,
const
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
CBLAS_TRANSPOSE
TransA
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
alpha
,
const
void
*
A
,
const
CBLAS_INT_TYPE
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_sger
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_sger
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
const
float
alpha
,
const
float
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
float
*
Y
,
const
int
incY
,
float
*
A
,
const
int
lda
);
const
float
*
Y
,
const
CBLAS_INT_TYPE
incY
,
float
*
A
,
const
CBLAS_INT_TYPE
lda
);
void
cblas_dger
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_dger
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
const
double
alpha
,
const
double
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
double
*
Y
,
const
int
incY
,
double
*
A
,
const
int
lda
);
const
double
*
Y
,
const
CBLAS_INT_TYPE
incY
,
double
*
A
,
const
CBLAS_INT_TYPE
lda
);
void
cblas_cgerc
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_cgerc
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
alpha
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
A
,
const
CBLAS_INT_TYPE
lda
);
void
cblas_zgerc
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_zgerc
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
alpha
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
A
,
const
CBLAS_INT_TYPE
lda
);
float
cblas_sdot
(
const
int
N
,
const
float
*
X
,
const
int
incX
,
float
cblas_sdot
(
const
CBLAS_INT_TYPE
N
,
const
float
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
float
*
Y
,
const
int
incY
);
const
float
*
Y
,
const
CBLAS_INT_TYPE
incY
);
double
cblas_ddot
(
const
int
N
,
const
double
*
X
,
const
int
incX
,
double
cblas_ddot
(
const
CBLAS_INT_TYPE
N
,
const
double
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
double
*
Y
,
const
int
incY
);
const
double
*
Y
,
const
CBLAS_INT_TYPE
incY
);
void
cblas_cdotu_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
cblas_cdotu_sub
(
const
CBLAS_INT_TYPE
N
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotu
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
dotu
);
void
cblas_zdotu_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
cblas_zdotu_sub
(
const
CBLAS_INT_TYPE
N
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotu
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
dotu
);
void
cblas_cdotc_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
cblas_cdotc_sub
(
const
CBLAS_INT_TYPE
N
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotc
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
dotc
);
void
cblas_zdotc_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
cblas_zdotc_sub
(
const
CBLAS_INT_TYPE
N
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotc
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
dotc
);
void
cblas_cgeru
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_cgeru
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
alpha
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
A
,
const
CBLAS_INT_TYPE
lda
);
void
cblas_zgeru
(
const
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
void
cblas_zgeru
(
const
CBLAS_ORDER
order
,
const
CBLAS_INT_TYPE
M
,
const
CBLAS_INT_TYPE
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
alpha
,
const
void
*
X
,
const
CBLAS_INT_TYPE
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
const
void
*
Y
,
const
CBLAS_INT_TYPE
incY
,
void
*
A
,
const
CBLAS_INT_TYPE
lda
);
}
}
#endif // if not CBLAS_H
#endif // if not CBLAS_H
...
...
This diff is collapsed.
Click to expand it.
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