Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
2b6275d0
提交
2b6275d0
authored
2月 04, 2008
作者:
bergstrj@iro.umontreal.ca
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see previous
上级
215743e7
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
0 行增加
和
606 行删除
+0
-606
cblas.h
cblas.h
+0
-606
没有找到文件。
cblas.h
deleted
100644 → 0
浏览文件 @
215743e7
/* blas/gsl_cblas.h
*
* Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/* This is a copy of the CBLAS standard header.
* We carry this around so we do not have to
* break our model for flexible BLAS functionality.
*/
#ifndef __GSL_CBLAS_H__
#define __GSL_CBLAS_H__
#include <stddef.h>
#undef __BEGIN_DECLS
#undef __END_DECLS
#ifdef __cplusplus
#define __BEGIN_DECLS extern "C" {
#define __END_DECLS }
#else
#define __BEGIN_DECLS
/* empty */
#define __END_DECLS
/* empty */
#endif
__BEGIN_DECLS
/*
* Enumerated and derived types
*/
#define CBLAS_INDEX size_t
/* this may vary between platforms */
enum
CBLAS_ORDER
{
CblasRowMajor
=
101
,
CblasColMajor
=
102
};
enum
CBLAS_TRANSPOSE
{
CblasNoTrans
=
111
,
CblasTrans
=
112
,
CblasConjTrans
=
113
};
enum
CBLAS_UPLO
{
CblasUpper
=
121
,
CblasLower
=
122
};
enum
CBLAS_DIAG
{
CblasNonUnit
=
131
,
CblasUnit
=
132
};
enum
CBLAS_SIDE
{
CblasLeft
=
141
,
CblasRight
=
142
};
/*
* ===========================================================================
* Prototypes for level 1 BLAS functions (complex are recast as routines)
* ===========================================================================
*/
float
cblas_sdsdot
(
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
);
double
cblas_dsdot
(
const
int
N
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
);
float
cblas_sdot
(
const
int
N
,
const
float
*
X
,
const
int
incX
,
const
float
*
Y
,
const
int
incY
);
double
cblas_ddot
(
const
int
N
,
const
double
*
X
,
const
int
incX
,
const
double
*
Y
,
const
int
incY
);
/*
* Functions having prefixes Z and C only
*/
void
cblas_cdotu_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotu
);
void
cblas_cdotc_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotc
);
void
cblas_zdotu_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotu
);
void
cblas_zdotc_sub
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
dotc
);
/*
* Functions having prefixes S D SC DZ
*/
float
cblas_snrm2
(
const
int
N
,
const
float
*
X
,
const
int
incX
);
float
cblas_sasum
(
const
int
N
,
const
float
*
X
,
const
int
incX
);
double
cblas_dnrm2
(
const
int
N
,
const
double
*
X
,
const
int
incX
);
double
cblas_dasum
(
const
int
N
,
const
double
*
X
,
const
int
incX
);
float
cblas_scnrm2
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
float
cblas_scasum
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
double
cblas_dznrm2
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
double
cblas_dzasum
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
/*
* Functions having standard 4 prefixes (S D C Z)
*/
CBLAS_INDEX
cblas_isamax
(
const
int
N
,
const
float
*
X
,
const
int
incX
);
CBLAS_INDEX
cblas_idamax
(
const
int
N
,
const
double
*
X
,
const
int
incX
);
CBLAS_INDEX
cblas_icamax
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
CBLAS_INDEX
cblas_izamax
(
const
int
N
,
const
void
*
X
,
const
int
incX
);
/*
* ===========================================================================
* Prototypes for level 1 BLAS routines
* ===========================================================================
*/
/*
* Routines with standard 4 prefixes (s, d, c, z)
*/
void
cblas_sswap
(
const
int
N
,
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
);
void
cblas_scopy
(
const
int
N
,
const
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
);
void
cblas_saxpy
(
const
int
N
,
const
float
alpha
,
const
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
);
void
cblas_dswap
(
const
int
N
,
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
);
void
cblas_dcopy
(
const
int
N
,
const
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
);
void
cblas_daxpy
(
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
);
void
cblas_cswap
(
const
int
N
,
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
void
cblas_ccopy
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
void
cblas_caxpy
(
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
void
cblas_zswap
(
const
int
N
,
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
void
cblas_zcopy
(
const
int
N
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
void
cblas_zaxpy
(
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
Y
,
const
int
incY
);
/*
* Routines with S and D prefix only
*/
void
cblas_srotg
(
float
*
a
,
float
*
b
,
float
*
c
,
float
*
s
);
void
cblas_srotmg
(
float
*
d1
,
float
*
d2
,
float
*
b1
,
const
float
b2
,
float
*
P
);
void
cblas_srot
(
const
int
N
,
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
,
const
float
c
,
const
float
s
);
void
cblas_srotm
(
const
int
N
,
float
*
X
,
const
int
incX
,
float
*
Y
,
const
int
incY
,
const
float
*
P
);
void
cblas_drotg
(
double
*
a
,
double
*
b
,
double
*
c
,
double
*
s
);
void
cblas_drotmg
(
double
*
d1
,
double
*
d2
,
double
*
b1
,
const
double
b2
,
double
*
P
);
void
cblas_drot
(
const
int
N
,
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
,
const
double
c
,
const
double
s
);
void
cblas_drotm
(
const
int
N
,
double
*
X
,
const
int
incX
,
double
*
Y
,
const
int
incY
,
const
double
*
P
);
/*
* Routines with S D C Z CS and ZD prefixes
*/
void
cblas_sscal
(
const
int
N
,
const
float
alpha
,
float
*
X
,
const
int
incX
);
void
cblas_dscal
(
const
int
N
,
const
double
alpha
,
double
*
X
,
const
int
incX
);
void
cblas_cscal
(
const
int
N
,
const
void
*
alpha
,
void
*
X
,
const
int
incX
);
void
cblas_zscal
(
const
int
N
,
const
void
*
alpha
,
void
*
X
,
const
int
incX
);
void
cblas_csscal
(
const
int
N
,
const
float
alpha
,
void
*
X
,
const
int
incX
);
void
cblas_zdscal
(
const
int
N
,
const
double
alpha
,
void
*
X
,
const
int
incX
);
/*
* ===========================================================================
* Prototypes for level 2 BLAS
* ===========================================================================
*/
/*
* Routines with standard 4 prefixes (S, D, C, Z)
*/
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
void
cblas_dgemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
void
cblas_dgbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
int
KL
,
const
int
KU
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
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
);
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
);
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
);
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
);
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
);
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
);
void
cblas_cgemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_cgbmv
(
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
);
void
cblas_ctrmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ctbmv
(
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
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ctpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
Ap
,
void
*
X
,
const
int
incX
);
void
cblas_ctrsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ctbsv
(
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
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ctpsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
Ap
,
void
*
X
,
const
int
incX
);
void
cblas_zgemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
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
);
void
cblas_ztrmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ztbmv
(
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
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ztpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
Ap
,
void
*
X
,
const
int
incX
);
void
cblas_ztrsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ztbsv
(
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
void
*
A
,
const
int
lda
,
void
*
X
,
const
int
incX
);
void
cblas_ztpsv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
TransA
,
const
enum
CBLAS_DIAG
Diag
,
const
int
N
,
const
void
*
Ap
,
void
*
X
,
const
int
incX
);
/*
* Routines with S and D prefixes only
*/
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
void
cblas_dsymv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
void
cblas_dsbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
int
K
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
void
cblas_dspmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
Ap
,
const
double
*
X
,
const
int
incX
,
const
double
beta
,
double
*
Y
,
const
int
incY
);
void
cblas_dger
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
const
double
*
Y
,
const
int
incY
,
double
*
A
,
const
int
lda
);
void
cblas_dsyr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
double
*
A
,
const
int
lda
);
void
cblas_dspr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
double
*
Ap
);
void
cblas_dsyr2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
const
double
*
Y
,
const
int
incY
,
double
*
A
,
const
int
lda
);
void
cblas_dspr2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
double
*
X
,
const
int
incX
,
const
double
*
Y
,
const
int
incY
,
double
*
A
);
/*
* Routines with C and Z prefixes only
*/
void
cblas_chemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_chbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_chpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
Ap
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_cgeru
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_cgerc
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_cher
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
A
,
const
int
lda
);
void
cblas_chpr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
float
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
A
);
void
cblas_cher2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_chpr2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
Ap
);
void
cblas_zhemv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_zhbmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_zhpmv
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
Ap
,
const
void
*
X
,
const
int
incX
,
const
void
*
beta
,
void
*
Y
,
const
int
incY
);
void
cblas_zgeru
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_zgerc
(
const
enum
CBLAS_ORDER
order
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_zher
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
A
,
const
int
lda
);
void
cblas_zhpr
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
double
alpha
,
const
void
*
X
,
const
int
incX
,
void
*
A
);
void
cblas_zher2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
A
,
const
int
lda
);
void
cblas_zhpr2
(
const
enum
CBLAS_ORDER
order
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
N
,
const
void
*
alpha
,
const
void
*
X
,
const
int
incX
,
const
void
*
Y
,
const
int
incY
,
void
*
Ap
);
/*
* ===========================================================================
* Prototypes for level 3 BLAS
* ===========================================================================
*/
/*
* Routines with standard 4 prefixes (S, D, C, Z)
*/
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
);
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
);
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
);
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
);
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
);
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
);
void
cblas_dgemm
(
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
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
B
,
const
int
ldb
,
const
double
beta
,
double
*
C
,
const
int
ldc
);
void
cblas_dsymm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
double
alpha
,
const
double
*
A
,
const
int
lda
,
const
double
*
B
,
const
int
ldb
,
const
double
beta
,
double
*
C
,
const
int
ldc
);
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
);
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
);
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
);
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
);
void
cblas_cgemm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_csymm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_csyrk
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_csyr2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_ctrmm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
void
*
B
,
const
int
ldb
);
void
cblas_ctrsm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
void
*
B
,
const
int
ldb
);
void
cblas_zgemm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zsymm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zsyrk
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zsyr2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_ztrmm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
void
*
B
,
const
int
ldb
);
void
cblas_ztrsm
(
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
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
void
*
B
,
const
int
ldb
);
/*
* Routines with prefixes C and Z only
*/
void
cblas_chemm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_cherk
(
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
void
*
A
,
const
int
lda
,
const
float
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_cher2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
float
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zhemm
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_SIDE
Side
,
const
enum
CBLAS_UPLO
Uplo
,
const
int
M
,
const
int
N
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
void
*
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zherk
(
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
void
*
A
,
const
int
lda
,
const
double
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_zher2k
(
const
enum
CBLAS_ORDER
Order
,
const
enum
CBLAS_UPLO
Uplo
,
const
enum
CBLAS_TRANSPOSE
Trans
,
const
int
N
,
const
int
K
,
const
void
*
alpha
,
const
void
*
A
,
const
int
lda
,
const
void
*
B
,
const
int
ldb
,
const
double
beta
,
void
*
C
,
const
int
ldc
);
void
cblas_xerbla
(
int
p
,
const
char
*
rout
,
const
char
*
form
,
...);
__END_DECLS
#endif
/* __GSL_CBLAS_H__ */
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论