语法指南 • 示例代码 • 编译指南 • 贡献指南 • Wiki • 动态库插件开发 • ToDo list • What's new • LSR • 官方论坛
- 精确数学计算:从底层解决浮点数精度丢失问题,支持有理数(分数)和无理数(√、π、e)的符号化存储与运算,多次循环运算仍保持精确。
- 语法简洁直观:支持自动补充分号、省略if/while语句的圆括号、无参函数简写等,降低代码冗余,符合数学表达习惯。
- 原生数学友好:无需第三方库,直接支持向量、矩阵运算、大整数阶乘等数学操作,满足复杂数学问题需求。
- 友好开发体验:交互式REPL支持关键字高亮、自动补齐,提供完整错误栈追踪,便于调试;智能终端自动适配色彩,避免乱码。
- 模块化设计:通过
include语句引入外部模块,支持::命名空间访问符,实现代码复用与隔离。 - 灵活数据类型:涵盖精确数值类型(rational/irrational)、复合类型(数组/矩阵/结构体/模块)及匿名函数和C++函数,适配多样开发场景。
在调试构建(Debug)中,符号化简器会输出额外的调试信息以便排查问题。控制方式如下:
- 编译时:CMake 在 Debug 配置下会为目标定义宏
_SYMBOLIC_DEBUG=1,使得源码中的调试输出默认开启;在 Release 构建中默认关闭。 - 运行时:可以通过环境变量
LAMINA_SYMBOLIC_DEBUG覆盖运行时行为:设置为1强制开启,设置为0强制关闭。如果未设置,则以编译时默认为准。
示例(PowerShell):
# 在 Debug 构建中运行(默认开启):
cmake -B build -DCMAKE_BUILD_TYPE=Debug .
cmake --build build --config Debug --target lamina --parallel
.
# 强制在任何构建下开启运行时调试输出:
$env:LAMINA_SYMBOLIC_DEBUG = '1'
.