luna-complex
Luna-Flow/luna-complex 为 Luna Flow 提供复数。根包定义了泛型类型 Complex[T],即任意标量 T 上的环 ,以及其算术运算和 luna-generic 结构实例。float_backend 包添加了 Complex[Double] 的解析函数(开方、对数、幂、三角函数与双曲函数及其反函数),采用数值稳定的公式,并提供浮点标量的能力 trait。
本手册记录的是 MoonBit 0.10 上 0.2.0 版本(即 moon.mod 中的版本)的代码。
包
| 包 | 导入路径 | 作用 | 页面 |
|---|---|---|---|
core | Luna-Flow/luna-complex | 泛型 Complex[T]:构造、修改、算术、共轭、结构实例 | API · 教程 · 设计 |
float_backend | Luna-Flow/luna-complex/float_backend | Complex[Double] 的解析函数;FloatingAnalyticScalar、FloatingSpecialValues、FloatingBackendScalar | API · 教程 · 设计 |
根包以 core 为名进行记录。float_backend 取代了原先的 double_ext 包。
阅读路线
入门。 先阅读核心教程了解算术运算,再阅读 float_backend 教程了解 sqrt、log、sin 及其他函数。
使用本库。 随手查阅核心 API 和 float_backend API;后者说明了每个函数的分支、特殊值与中止行为,包括负实轴上的已知偏差。
参与贡献。 阅读核心设计了解代数结构及实例的合法性,阅读 float_backend 设计了解稳定公式和分支切割线的推导,并阅读贡献指南。
安装
moon add Luna-Flow/luna-complex@0.2.0
import {
"Luna-Flow/luna-complex" @complex,
"Luna-Flow/luna-complex/float_backend" @fb,
}
工具链
MoonBit moonc 0.10 或更高版本,使用 moon.mod / moon.pkg 清单。测试在 wasm-gc、wasm、js 和 native 上运行。
验证
moon check --target all
moon test
moon info