Skip to content

🚀 CalculatorX - 专业符号计算器

打破移动端计算瓶颈,探索数学的无限可能

Changelog License: GPL v3 Platform Tech Stack Engine

官网 帮助 Issue

📝 项目简介

CalculatorX 是一款专为 HarmonyOS 打造的专业级符号计算器 (CAS)。它不仅仅是一个计算工具,更是一个移动端的数学与工程工作站。

支持精确符号运算高精度数值计算双模式输出。通过创新的“前端原生 UI + Web 离线渲染 + 双 C++ 底层引擎”三层解耦架构,CalculatorX 成功将桌面级的解析能力装进了口袋。无论是基础的四则运算、三角函数,还是复杂的微积分、极限,甚至是 $O(1)$ 极速解析 $10^{10^{19}}$ 级别的宇宙级大数,它都能游刃有余。

✨ 核心亮点 (Highlights)

  • 工业级双引擎:静态链接 GiacSymEngine,提供无可匹敌的代数化简与符号求导积分能力。
  • 🌌 O(1) 大数极速解析:独立的 FastMath 降维模块,瞬间计算 $10^{9000000000000000000}$ 级别的极限数字。
  • 🖨️ 出版级 LaTeX 渲染:深度定制 Web 容器,完美呈现复杂的嵌套根号、极限与积分排版。
  • 🧩 可插拔的架构设计:严格遵循单页面应用 (SPA) 逻辑,科学计算、基础计算、历史记录等面板均作为独立组件动态挂载。
  • 📳 极致的原生交互:深度适配鸿蒙原生点击光效与 Haptic 触感反馈,拥有随动侧边栏与悬浮胶囊导航。

🖼️ 视觉效果

(深浅模式无缝切换 | 高等数学微积分计算 | 极限大数瞬间解析)

🏗️ 架构概览

CalculatorX 采用深度融合的三层架构,彻底打破了传统前端计算器的性能天花板:

  1. UI 调度层 (ArkTS):声明式构建原生悬浮面板与手势驱动的侧边栏,通过 N-API 统一调度底层资源。
  2. 渲染降维层 (Web SandBox):基于离线 MathLive 库,负责高清 LaTeX 渲染,并将二维公式“降维”为结构化 MathJSON 交由底层处理。
  3. 计算核心层 (C++ & N-API):由 Giac 处理符号逻辑,SymEngine 与自研 FastMath 处理极速数值运算,搭配 ErrorHandler 状态机实现 0 闪退拦截。

💡 想要深入了解我们的架构设计? 请参阅 📖 CalculatorX 核心架构设计文档,详细了解“壳与插件”模型以及跨端数据流转机制。

🚀 路线图 (Roadmap)

当前里程碑:核心科学计算器(已完成)

  • 跨端通信打通:ArkTS / Web / C++ 三端零延迟数据流转。
  • 引擎融合:成功交叉编译 SymEngine 与 Giac,构建手写 AST 翻译器。
  • 科学计算和基础计算功能。
  • 历史记录:关系型数据库实现历史记录的长期存储。
  • 矩阵与向量:实现矩阵与向量的相关计算。

下一步规划:

  • 📈 函数图像可视化:2D 极坐标/参数方程绘图。(正在开发)
  • ✖️ 方程求解:多项式求根。
  • 🔄 转换:全面的单位转换、进制转换与汇率换算。
  • 📊 数据与统计

🛠️ 快速上手 (Quick Start)

开发环境要求

  • IDE: DevEco Studio (支持 HarmonyOS NEXT)
  • API Version: 21+
  • C++ 交叉编译工具链已内置于 CMakeLists 流程中,首次编译可能需要 1-3 分钟解压 boostgiac 离线包。

阅读 🧑‍💻 开发者协作规范,了解项目目录规范与代码解耦原则。

克隆与运行

git clone https://github.com/StarHeartY/CalculatorX.git

📥 获取 (Get)

Explore it on AppGallery       GitHub Releases

📄 版权与许可(License)

本项目基于 GPL-3.0 License 开源协议发布。

Copyright (c) 2026 易睿 (Yi Rui). All rights reserved.

Special Declaration for Software Copyright Registration (软著登记特别声明): 本项目(CalculatorX / CalcX)的核心架构、前端状态机及底层 C++ 代数引擎等全套源代码所有权均归属于易睿本人。 目前本项目正由原作者全权推进中国计算机软件著作权登记审核流程。审查机构核对作者身份时,请以本声明及专属域名标识(startyi.com / calcx.startyi.com)为准。

This project is an original work. The author retains all rights to the core codebase during the software copyright registration process.

Releases

Packages

Used by

Contributors

Languages