LMMC
Lamina Mathematic core
Toggle main menu visibility
载入中...
搜索中...
未找到
dense_storage.h
浏览该文件的文档.
1
2
#ifndef LMMC_DENSE_STORAGE_H
3
#define LMMC_DENSE_STORAGE_H
4
5
#include "
lmmc/dense_types.h
"
6
#include "
lmmc/status.h
"
7
8
#ifdef __cplusplus
9
extern
"C"
{
10
#endif
11
28
lmmc_status_t
lmmc_mat_create
(
size_t
rows,
size_t
cols,
lmmc_mat_t
* out_mat);
29
46
lmmc_status_t
lmmc_mat_wrap
(
size_t
rows,
size_t
cols,
size_t
stride,
lmmc_real_t
* data,
lmmc_mat_t
* out_mat);
47
56
void
lmmc_mat_destroy
(
lmmc_mat_t
* mat);
57
68
lmmc_status_t
lmmc_mat_fill
(
lmmc_mat_t
* mat,
lmmc_real_t
value);
69
82
lmmc_status_t
lmmc_mat_copy
(
const
lmmc_mat_t
* src,
lmmc_mat_t
* dst);
83
97
lmmc_status_t
lmmc_mat_transpose_to
(
const
lmmc_mat_t
* src,
lmmc_mat_t
* dst);
98
110
lmmc_status_t
lmmc_vec_create
(
size_t
size,
lmmc_vec_t
* out_vec);
111
126
lmmc_status_t
lmmc_vec_wrap
(
size_t
size,
lmmc_real_t
* data,
lmmc_vec_t
* out_vec);
127
136
void
lmmc_vec_destroy
(
lmmc_vec_t
* vec);
137
148
lmmc_status_t
lmmc_vec_fill
(
lmmc_vec_t
* vec,
lmmc_real_t
value);
149
161
lmmc_status_t
lmmc_vec_copy
(
const
lmmc_vec_t
* src,
lmmc_vec_t
* dst);
162
174
lmmc_status_t
lmmc_vec_swap
(
lmmc_vec_t
* x,
lmmc_vec_t
* y);
175
187
lmmc_status_t
lmmc_mat_identity
(
size_t
n,
lmmc_mat_t
* out_mat);
188
189
#ifdef __cplusplus
190
}
191
#endif
192
193
#endif
lmmc_real_t
double lmmc_real_t
Public and internal LMMC real type.
定义
config.h:28
lmmc_mat_copy
lmmc_status_t lmmc_mat_copy(const lmmc_mat_t *src, lmmc_mat_t *dst)
逐元素复制矩阵内容:dst = src。
定义
dense_storage.c:93
lmmc_mat_create
lmmc_status_t lmmc_mat_create(size_t rows, size_t cols, lmmc_mat_t *out_mat)
创建 rows x cols 的零矩阵。
定义
dense_storage.c:14
lmmc_vec_fill
lmmc_status_t lmmc_vec_fill(lmmc_vec_t *vec, lmmc_real_t value)
就地将向量所有元素设为 value。
定义
dense_storage.c:199
lmmc_mat_wrap
lmmc_status_t lmmc_mat_wrap(size_t rows, size_t cols, size_t stride, lmmc_real_t *data, lmmc_mat_t *out_mat)
创建引用调用方连续缓冲区的矩阵视图。
定义
dense_storage.c:45
lmmc_vec_swap
lmmc_status_t lmmc_vec_swap(lmmc_vec_t *x, lmmc_vec_t *y)
就地交换两个等长向量的全部元素。
定义
dense_storage.c:225
lmmc_vec_wrap
lmmc_status_t lmmc_vec_wrap(size_t size, lmmc_real_t *data, lmmc_vec_t *out_vec)
创建引用调用方连续缓冲区的向量视图。
定义
dense_storage.c:169
lmmc_mat_fill
lmmc_status_t lmmc_mat_fill(lmmc_mat_t *mat, lmmc_real_t value)
就地将矩阵所有元素设为 value。
定义
dense_storage.c:79
lmmc_mat_transpose_to
lmmc_status_t lmmc_mat_transpose_to(const lmmc_mat_t *src, lmmc_mat_t *dst)
计算矩阵转置:dst = src^T。
定义
dense_storage.c:111
lmmc_vec_create
lmmc_status_t lmmc_vec_create(size_t size, lmmc_vec_t *out_vec)
创建长度为 size 的零向量。
定义
dense_storage.c:144
lmmc_vec_copy
lmmc_status_t lmmc_vec_copy(const lmmc_vec_t *src, lmmc_vec_t *dst)
逐元素复制向量内容:dst = src。
定义
dense_storage.c:210
lmmc_mat_identity
lmmc_status_t lmmc_mat_identity(size_t n, lmmc_mat_t *out_mat)
创建 nxn 单位矩阵,对角线为 1,其余元素为 0。
定义
dense_arithmetic.c:201
lmmc_mat_destroy
void lmmc_mat_destroy(lmmc_mat_t *mat)
销毁矩阵,释放其拥有的缓冲区并清零结构体字段。
定义
dense_storage.c:62
lmmc_vec_destroy
void lmmc_vec_destroy(lmmc_vec_t *vec)
销毁向量,释放其拥有的缓冲区并清零字段。
定义
dense_storage.c:184
dense_types.h
lmmc_mat_t
行优先存储的稠密矩阵。
定义
dense_types.h:18
lmmc_vec_t
一维稠密向量。
定义
dense_types.h:31
status.h
LMMC 通用状态码定义.
lmmc_status_t
lmmc_status_t
LMMC 库统一返回的状态码.
定义
status.h:22
lmmc
dense_storage.h
生成于
, 为 LMMC使用
1.18.0