星尘幻影吧 关注:6贴子:486
  • 8回复贴,共1

【日志】星尘计算器 for Android 开发日志

只看楼主收藏回复

1L.


IP属地:广东1楼2015-11-08 08:57回复
    目前开发进程:
    **开发环境:windows8.1下Eclipse+CDT+ADT+ndk+天天模拟器;
    linux ubuntu14.04下Eclipse+CDT+安卓gcc+genymotion模拟器;
    android MIUI下AIDE+920文本编辑器;
    **真机测试:小米note标配版64G MIUI开发版 基于安卓4.4.4
    1.星尘运算内核:(并不了解“内核这个是否恰当)
    已完成基本运算以及部分常见函数,目前支持的函数有:+ - * / ^ sin deg ceil floor abs == != >= <= > < sqrt & | ? cos tan = ; exp ln lg pi e arcsin arccos arctan sinh cosh tanh rand max sum ! , args if do args while argnum cot arccot arsinh arcosh artanh cbrt log ranInt min gcd lcm mod !! % prod diff solve mod
    除此之外,支持自定义函数(允许多态和迭代)和变量,高精度大数基本计算和高精度浮点数基本计算。(目前仅完成+ - * / !)
    已知BUG:函数迭代调用时参数传递错误;某些情况下高精度除法错误。
    待加入功能:内置函数扩充(例如integral等等等),运算优化,重复运算优化(例如sum等),高精度计算的函数扩充。
    2.NatrualLayout:(自然书写显示)
    已完成线性文本、括号、分数线、根号(代表基本自然书写类型)及其组合的自然书写显示。
    已知BUG:某些情况下分数线显示错位;不同分辨率手机显示有所不同。
    待加入功能:幂函数,西格玛,导数积分,带分数的自然书写显示等等;美化根号和括号的形状;以及带框输入和光标的正确显示和跳转。
    3.Eigenmath:(开源代码移植)
    已完成移植并能够正常使用。(采用Native Method&JNI移植C语言/C++源码)(源码来自CSDN下载)
    已知BUG:算式超出ASCII字符时程序崩溃(与char*和jstring的转换有关);运算结果字符串超过10000字节
    待加入功能:完善和星尘运算内核的兼容。
    4.用户界面和交互
    尚未开发。
    计划:虚拟键盘(借鉴WolframAlpha安卓版的键盘);自动补全;待选函数显示(例如,输入s,即有sin,solve等函数待选);拼音快速匹配函数(输入jf或者jifen,待选函数中即有integral并注明中文“积分”)。等。
    目标:力求减少用户输入障碍,尽可能追求实体机般的体验。


    IP属地:广东2楼2015-11-08 09:46
    收起回复
      5.可能加入模块:wolframAlpha引擎(访问wolfram网站实现)
      不清楚是否允许。


      IP属地:广东3楼2015-11-08 09:57
      回复
        2015.11.10
        发现安卓的java api中自带有java.math.BigInteger和java.math.BigDecimal类。将高精度计算全部替换为自带的类的方法以提高效率,同时高精度除法的Bug将不复存在。
        946994919: 之前的高精度计算是自己实现的,比自带的效率低。删除 | 2015-11-10 17:49回复
        946994919: 由于近期准备大一的第一次期中考试,开发进度放缓。删除 | 2015-11-10 17:53回复
        946994919: 初步速度测试 计算10000! 星尘用500~700ms eigenmath用5000~6000ms
        2015.11.11
        已添加高精度计算的常用函数支持 支持列表与非高精度模式下相同
        运算速度真机测试:(平衡模式)(包括对算式的解析时间)(计算5次取平均值)(浮点数精度1000位)
        10000! 459.2ms
        sqrt(2) 85ms
        ln(2) 2646.4ms
        sin(1) 839.6ms
        exp(1) 2115.2ms
        1/12345678901234567890123456789 5ms
        946994919: 改进了错误捕捉与报告机制 避免使用try catch降低计算效率(使用try catch后计算10000!需要700-900ms)
        2015.11.13
        修复分数线显示错误的bug。优化自然书写分析逻辑,使代码减少约100行。
        添加数字帝国数学工具模块,允许(联网)使用不定积分计算器,质因数分解,伯努利数等数学工具。
        2015.11.14
        增加一个比较简陋的键盘和输入界面。


        IP属地:广东4楼2015-11-18 10:50
        回复

          2015.11.18
          加入高斯数值定积分函数。
          2015.11.22
          增加了幂的自然书写显示
          增加了自然书写显示中的框以及光标跳转。
          2015.11.23
          键盘上增加了积分,西格玛等符号(未自然书写)
          优化部分运算符号(例如乘号由*改成×)。
          2015.11.24
          优化了光标显示方式(由之前的用“|”代替改为drawLine)
          增加了点击屏幕光标可跳转到光标处
          增加了当显示宽度高度超出时显示“▲▼▶◀”的提示
          2015.11.25
          修复了若干BUG
          增加类似卡西欧的.自然书写显示删除和插入的自动判断(例如当根号内没有内容时自动生成框)
          增加了定积分的自然书写显示


          2015.11.28
          修复若干BUG
          讲自然书写显示的函数的括号换成方括号(例如sqrt( )改成sqrt[ ]) 以防止输入括号过程的错误显示
          优化了幂函数的自然书写表示(由[ ]^[ ] 改成 ^[ ] )
          2015.12.6
          增加了导数的自然书写显示
          将eigenmath的浮点计算修改为16位
          简化了部分代码
          2015.12.8
          增加了n次方根的自然书写显示
          优化了部分代码
          增加了算式显示部分的可滑动


          IP属地:广东5楼2015-12-08 21:21
          回复
            咦 怎么停在7.9


            来自Android客户端9楼2016-08-05 20:30
            收起回复
              2016.7.30
              发布预览版~,虽然还有很多很多的BUG和待改进的地方
              欢迎大家测评和反馈
              【警告】由于软件版本仅为预览版,BUG很多,仅为测试使用,请免用于日常计算。如果遇到闪退情况,请清空软件数据并向我反馈
              【已知问题】
              0.目前仍不能找到或做出程序图标,所以暂时用头像代替,如果您发现适合的图标或其他图片素材,欢迎推荐(不会美工界面也丑,尤其是键盘)
              1.首次显示键盘按钮文字会错位2.系统输入法仍然无法正常使用,例如按回车可能会弹出侧拉菜单,有时会导致切换回自带键盘时无法显示。
              3.矩阵,进制转换的自然书写是实验性的。进制转换不能得出结果。
              4.键盘二级菜单打开卡顿
              5.某些情况下xcas的计算会导致闪退,这是xcas本身的原因。这可能在更新动态链接库后能解决,也可能无法解决。但遇到这种情况时也请反馈给我,以免出现其他问题导致的闪退。
              6.xcas的数值计算目前支持14位,未来可能通过gmp库或更新的giac解决,也可能无法解决。另外由于apfloat对于一些函数的计算十分缓慢,因而目前对诸如三角函数的高精度运算很慢。未来可能更换高精度运算库。
              7.目前星尘语法分析尚不完善,对于xcas的某些语法还不支持,这会造成预处理失败或xcas的结果转换为自然书写失败,甚至崩溃。
              8.帮助菜单仍不完善,“复数运算”以及之前的菜单能打开。帮助信息也很不完善。
              9.星尘解释器的一些数值计算仍未实现,或者因为计算缓慢而没有添加(例如定积分因为apfloat的原因高斯算法需要很久)。
              10.放大缩小还未添加焦点。也无法正常使用光标。
              11.当算式比较庞大时输入自然书写的式子光标可能没有正确出现在屏幕上
              12.绝对值函数的自然书写显示尚未优化,有时比较不好看。
              13.临时发现一个bug,删除log函数后会出现删不掉的太阳
              百度云即视感

              已预先上架百度手机助手,360手机助手,91,安卓市场。以后将会在那里直接更新。
              2016.8.3
              已上架豌豆荚和应用宝。


              IP属地:广东14楼2016-08-05 21:07
              回复