LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
complex.h
浏览该文件的文档.
1
9#ifndef LMMC_COMPLEX_H
10#define LMMC_COMPLEX_H
11
12#include <stddef.h>
13#include "lmmc/config.h"
14#include "lmmc/status.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
29
35typedef struct {
36 size_t size;
40
47typedef struct {
48 size_t rows;
49 size_t cols;
50 size_t stride;
54
69
87
101
115
133
151
164
177
192
212
238
262
282
300
324
343
362lmmc_status_t lmmc_cmat_create(size_t rows, size_t cols, lmmc_cmat_t* out);
363
378
393
394#ifdef __cplusplus
395}
396#endif
397
398#endif
lmmc_status_t lmmc_complex_sin(const lmmc_complex_t *z, lmmc_complex_t *out)
复数正弦: .
lmmc_status_t lmmc_complex_exp(const lmmc_complex_t *z, lmmc_complex_t *out)
复数指数函数: ,其中 .
lmmc_status_t lmmc_complex_add(const lmmc_complex_t *a, const lmmc_complex_t *b, lmmc_complex_t *out)
复数加法: .
lmmc_complex_t * data
lmmc_status_t lmmc_complex_create(lmmc_real_t real, lmmc_real_t imag, lmmc_complex_t *out)
从笛卡尔坐标构造复数.
lmmc_status_t lmmc_complex_cos(const lmmc_complex_t *z, lmmc_complex_t *out)
复数余弦: .
lmmc_status_t lmmc_complex_conj(const lmmc_complex_t *z, lmmc_complex_t *out)
复数共轭: .
lmmc_status_t lmmc_cvec_create(size_t size, lmmc_cvec_t *out)
分配并初始化一个长度为 size 的复数向量,所有元素置零.
lmmc_status_t lmmc_complex_arg(const lmmc_complex_t *z, lmmc_real_t *out)
复数辐角: .
lmmc_status_t lmmc_complex_mul(const lmmc_complex_t *a, const lmmc_complex_t *b, lmmc_complex_t *out)
复数乘法: .
lmmc_status_t lmmc_cmat_create(size_t rows, size_t cols, lmmc_cmat_t *out)
分配并初始化一个 rows x cols 的复数矩阵,所有元素置零.
lmmc_status_t lmmc_complex_pow(const lmmc_complex_t *base, const lmmc_complex_t *exp, lmmc_complex_t *out)
复数幂: .
lmmc_complex_t * data
lmmc_status_t lmmc_complex_log(const lmmc_complex_t *z, lmmc_complex_t *out)
复数主值对数: .
lmmc_real_t real
lmmc_status_t lmmc_complex_sqrt(const lmmc_complex_t *z, lmmc_complex_t *out)
采用缩放算法计算复数主值平方根.
lmmc_status_t lmmc_complex_from_polar(lmmc_real_t r, lmmc_real_t theta, lmmc_complex_t *out)
从极坐标构造复数.
lmmc_status_t lmmc_complex_modulus(const lmmc_complex_t *z, lmmc_real_t *out)
采用缩放计算复数模: .
void lmmc_cmat_destroy(lmmc_cmat_t *mat)
销毁复数矩阵,释放其拥有的底层缓冲区.
lmmc_real_t imag
lmmc_status_t lmmc_complex_sub(const lmmc_complex_t *a, const lmmc_complex_t *b, lmmc_complex_t *out)
复数减法: .
void lmmc_cvec_destroy(lmmc_cvec_t *vec)
销毁复数向量,释放其拥有的底层缓冲区.
lmmc_status_t lmmc_complex_div(const lmmc_complex_t *a, const lmmc_complex_t *b, lmmc_complex_t *out)
复数除法: .
复数稠密矩阵(行优先存储).
复数类型,包含实部与虚部.
复数稠密向量.
LMMC binary real type and arithmetic spelling.
double lmmc_real_t
Public and internal LMMC real type.
LMMC 通用状态码定义.
lmmc_status_t
LMMC 库统一返回的状态码.