Thanks to visit codestin.com
Credit goes to github.com

Skip to content

steambird1/Lamina

 
 

Repository files navigation

This is Lamina version 1.1.0 (Release Candidate 0 )

简体中文 | English | 繁体中文

RC阶段停止接收新特性、语法、功能,仅作为debug阶段。

GitHub issues GitHub stars GitHub forks GitHub contributors GitHub last commit License Language Math QQ

一种专注于精确数学计算的以面向过程为主体的编程语言

语法指南示例代码编译指南贡献指南Wiki动态库插件开发ToDo listWhat's newLSR官方论坛

精确数学特性

  1. 精确数学计算:从底层解决浮点数精度丢失问题,支持有理数(分数)和无理数(√、π、e)的符号化存储与运算,多次循环运算仍保持精确。
  2. 语法简洁直观:支持自动补充分号、省略if/while语句的圆括号、无参函数简写等,降低代码冗余,符合数学表达习惯。
  3. 原生数学友好:无需第三方库,直接支持向量、矩阵运算、大整数阶乘等数学操作,满足复杂数学问题需求。
  4. 友好开发体验:交互式REPL支持关键字高亮、自动补齐,提供完整错误栈追踪,便于调试;智能终端自动适配色彩,避免乱码。
  5. 模块化设计:通过include语句引入外部模块,支持::命名空间访问符,实现代码复用与隔离。
  6. 灵活数据类型:涵盖精确数值类型(rational/irrational)、复合类型(数组/矩阵/结构体/模块)及匿名函数和C++函数,适配多样开发场景。

Debug 输出控制(开发者说明)

在调试构建(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'
.

About

一种专注于精确数学计算的面向过程编程语言

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.3%
  • CMake 3.5%
  • Other 1.2%