double lmmc_real_t
Public and internal LMMC real type.
lmmc_status_t
LMMC 库统一返回的状态码.
lmmc_status_t lmmc_tensor3_sum(const lmmc_tensor3_t *tensor, lmmc_real_t *out_sum)
累加全部元素。
lmmc_status_t lmmc_tensor3_add(const lmmc_tensor3_t *a, const lmmc_tensor3_t *b, lmmc_tensor3_t *out_tensor)
同形状张量逐元素加法。
lmmc_status_t lmmc_tensor3_sum_axis(const lmmc_tensor3_t *tensor, size_t axis, lmmc_mat_t *out_matrix)
沿指定轴求和,结果为二维矩阵。
lmmc_status_t lmmc_tensor3_min(const lmmc_tensor3_t *tensor, lmmc_real_t *out_min)
求最小元素。
lmmc_status_t lmmc_tensor3_div(const lmmc_tensor3_t *a, const lmmc_tensor3_t *b, lmmc_tensor3_t *out_tensor)
同形状张量逐元素除法,b 中元素须非零。
lmmc_status_t lmmc_tensor3_get(const lmmc_tensor3_t *tensor, size_t i, size_t j, size_t k, lmmc_real_t *out_value)
读取元素 (i,j,k)。
void lmmc_tensor3_destroy(lmmc_tensor3_t *tensor)
销毁张量。
lmmc_status_t lmmc_tensor3_fill(lmmc_tensor3_t *tensor, lmmc_real_t value)
用 value 填充张量所有元素。
lmmc_status_t lmmc_tensor3_create(size_t dim0, size_t dim1, size_t dim2, lmmc_tensor3_t *out_tensor)
创建 dim0 x dim1 x dim2 的张量,元素未初始化。
lmmc_status_t lmmc_tensor3_slice_view(const lmmc_tensor3_t *tensor, size_t begin0, size_t end0, size_t begin1, size_t end1, size_t begin2, size_t end2, lmmc_tensor3_t *out_view)
取张量子区间视图,每维使用半开区间 [begin, end)。
lmmc_status_t lmmc_tensor3_wrap(size_t dim0, size_t dim1, size_t dim2, size_t stride0, size_t stride1, size_t stride2, lmmc_real_t *data, lmmc_tensor3_t *out_tensor)
用外部缓冲区构造张量视图。
lmmc_status_t lmmc_tensor3_scale(const lmmc_tensor3_t *tensor, lmmc_real_t alpha, lmmc_tensor3_t *out_tensor)
标量乘:out = alpha * tensor。
lmmc_status_t lmmc_tensor3_sub(const lmmc_tensor3_t *a, const lmmc_tensor3_t *b, lmmc_tensor3_t *out_tensor)
同形状张量逐元素减法。
lmmc_status_t lmmc_tensor3_max(const lmmc_tensor3_t *tensor, lmmc_real_t *out_max)
求最大元素。
lmmc_status_t lmmc_tensor3_set(lmmc_tensor3_t *tensor, size_t i, size_t j, size_t k, lmmc_real_t value)
写入元素 (i,j,k)。
lmmc_status_t lmmc_tensor3_mul(const lmmc_tensor3_t *a, const lmmc_tensor3_t *b, lmmc_tensor3_t *out_tensor)
同形状张量逐元素乘法(Hadamard)。
lmmc_status_t lmmc_tensor3_norm_fro(const lmmc_tensor3_t *tensor, lmmc_real_t *out_norm)
用缩放平方和计算张量 Frobenius 范数。
lmmc_status_t lmmc_tensor3_reshape_view(const lmmc_tensor3_t *tensor, size_t new_dim0, size_t new_dim1, size_t new_dim2, lmmc_tensor3_t *out_view)
在元素总数与连续布局兼容时,构造共享缓冲区的重塑视图。