LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
status.h 文件参考

LMMC 通用状态码定义. 更多...

此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

枚举

enum  lmmc_status_t {
  LMMC_STATUS_OK = 0 ,
  LMMC_STATUS_INVALID_ARGUMENT = 1 ,
  LMMC_STATUS_DIMENSION_MISMATCH = 2 ,
  LMMC_STATUS_ALLOCATION_FAILED = 3 ,
  LMMC_STATUS_SINGULAR_MATRIX = 4 ,
  LMMC_STATUS_NOT_IMPLEMENTED = 5 ,
  LMMC_STATUS_NUMERICAL_FAILURE = 6 ,
  LMMC_STATUS_NOT_POSITIVE_DEFINITE = 7 ,
  LMMC_STATUS_CONVERGENCE_FAILED = 8 ,
  LMMC_STATUS_OUT_OF_RANGE = 9 ,
  LMMC_STATUS_INDEX_OUT_OF_BOUNDS = 10 ,
  LMMC_STATUS_WARNING_MAX_DEPTH = 11 ,
  LMMC_STATUS_EMPTY_INPUT = 12 ,
  LMMC_STATUS_UNIT_STRIP_TYPE_MISMATCH = 13 ,
  LMMC_STATUS_UNIT_STRIP_OVERFLOW = 14 ,
  LMMC_STATUS_UNIT_STRIP_INVALID = 15 ,
  LMMC_STATUS_UNIT_STRIP_LEGACY_SYNTAX = 16 ,
  LMMC_STATUS_NOT_INITIALIZED = 17 ,
  LMMC_STATUS_BUSY = 18 ,
  LMMC_STATUS_REFERENCE_LIMIT = 19
}
 LMMC 库统一返回的状态码. 更多...

函数

const char * lmmc_status_string (lmmc_status_t status)
 获取状态码对应的可读字符串.

详细描述

LMMC 通用状态码定义.

库内几乎所有可能失败的接口都返回 lmmc_status_t ,调用方 应根据返回值判断是否成功,并通过 lmmc_status_string 获取 可读描述.

在文件 status.h 中定义.

枚举类型说明

◆ lmmc_status_t

LMMC 库统一返回的状态码.

任何返回该枚举的函数都以 LMMC_STATUS_OK 标记有效输出; 其他状态保留输出参数的未指定状态.

枚举值
LMMC_STATUS_OK 0 

操作成功.

LMMC_STATUS_INVALID_ARGUMENT 1 

输入参数非法(空指针,负值等).

LMMC_STATUS_DIMENSION_MISMATCH 2 

矩阵 / 向量维度不匹配.

LMMC_STATUS_ALLOCATION_FAILED 3 

内存分配失败.

LMMC_STATUS_SINGULAR_MATRIX 4 

矩阵奇异,无法求解.

LMMC_STATUS_NOT_IMPLEMENTED 5 

接口暂未实现.

LMMC_STATUS_NUMERICAL_FAILURE 6 

数值计算失败(如溢出,除零).

LMMC_STATUS_NOT_POSITIVE_DEFINITE 7 

矩阵非正定.

LMMC_STATUS_CONVERGENCE_FAILED 8 

迭代算法未在限定步数内收敛.

LMMC_STATUS_OUT_OF_RANGE 9 

数值超出允许范围.

LMMC_STATUS_INDEX_OUT_OF_BOUNDS 10 

数组 / 矩阵下标越界.

LMMC_STATUS_WARNING_MAX_DEPTH 11 

自适应算法达到最大递归深度(结果可能仍可用).

LMMC_STATUS_EMPTY_INPUT 12 

输入集合为空.

LMMC_STATUS_UNIT_STRIP_TYPE_MISMATCH 13 

量纲剥离作用于非数值类型.

LMMC_STATUS_UNIT_STRIP_OVERFLOW 14 

量纲剥离发生表示范围溢出.

LMMC_STATUS_UNIT_STRIP_INVALID 15 

量纲剥离的单位转换阶段失败.

LMMC_STATUS_UNIT_STRIP_LEGACY_SYNTAX 16 

使用了废弃的量纲剥离语法.

LMMC_STATUS_NOT_INITIALIZED 17 

当前线程尚未初始化 LMMC.

LMMC_STATUS_BUSY 18 

当前线程仍有嵌套生命周期租约.

LMMC_STATUS_REFERENCE_LIMIT 19 

当前线程生命周期引用计数已达上限.

在文件 status.h 第 22 行定义.

函数说明

◆ lmmc_status_string()

const char * lmmc_status_string ( lmmc_status_t status)

获取状态码对应的可读字符串.

参数
status任意 lmmc_status_t 取值.
返回
指向进程生命周期内静态字符串的指针.未知状态码映射为 "unknown".

在文件 status.c 第 8 行定义.

引用了 LMMC_STATUS_ALLOCATION_FAILED, LMMC_STATUS_BUSY, LMMC_STATUS_CONVERGENCE_FAILED, LMMC_STATUS_DIMENSION_MISMATCH, LMMC_STATUS_EMPTY_INPUT, LMMC_STATUS_INDEX_OUT_OF_BOUNDS, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NOT_IMPLEMENTED, LMMC_STATUS_NOT_INITIALIZED, LMMC_STATUS_NOT_POSITIVE_DEFINITE, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, LMMC_STATUS_OUT_OF_RANGE, LMMC_STATUS_REFERENCE_LIMIT, LMMC_STATUS_SINGULAR_MATRIX, lmmc_status_string(), LMMC_STATUS_UNIT_STRIP_INVALID, LMMC_STATUS_UNIT_STRIP_LEGACY_SYNTAX, LMMC_STATUS_UNIT_STRIP_OVERFLOW, LMMC_STATUS_UNIT_STRIP_TYPE_MISMATCH , 以及 LMMC_STATUS_WARNING_MAX_DEPTH.

被这些函数引用 lmmc_status_string().

函数调用图:
这是这个函数的调用关系图: