-
Notifications
You must be signed in to change notification settings - Fork 37
Labels
bugSomething isn't workingSomething isn't workingfatalMay cause application crashMay cause application crashstale
Description
确认事项
- 我已经搜索了现有的issues,确认这不是重复问题
- 我使用的是最新版本的Lamina
- 我已经阅读了相关文档
Lamina版本
操作系统
Ubuntu 22.04
编译器
GCC
Bug描述
在计算(sqrt(2)+pi())*(sqrt(3)+e())时输出√2+π*√3+e 而不是eπ + √(6) + √(3) × π + √(2) × e或类似的,
(sqrt(2)+pi())*(sqrt(2)+pi())输出√2+π*√2+π 而不是π² + 2 + 2 × √(2) × π等
重现步骤
运行下列文件
var a = sqrt(2)+pi();
var b = sqrt(3)+e();
print(a*b);
print(a*a);
print(b*b);
var c = sqrt(8)+2*e()+sqrt(3);
var d = sqrt(120)+pi()*5+sqrt(12)+2*sqrt(5);
print(c*d);
root@root-System:/$ '/build/Lamina' '/build/test.lm' 期望行为
Executing file: /build/test.lm
eπ+√6+π√3 +e√2
π²+2π√2+2
e²+2e√3+3
10eπ+4e√30+4e√5+4e√3+5π√3+10π√2+10√15+10√10+4√6+6
Program execution completed.
实际行为
Executing file: /build/test.lm
√2+π*√3+e
√2+π*√2+π
√3+e*√3+e
2√2+√3+2*e*2√3+2√5+2√30+π*5
Program execution completed.
相关代码
var a = sqrt(2)+pi();
var b = sqrt(3)+e();
print(a*b);
print(a*a);
print(b*b);
var c = sqrt(8)+2*e()+sqrt(3);
var d = sqrt(120)+pi()*5+sqrt(12)+2*sqrt(5);
print(c*d);
错误输出
No response
额外信息
No response
愿意协助
- 我愿意提交PR来修复这个bug
- 我可以提供更多测试用例
- 我可以帮助测试修复方案
zhoushengdao
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfatalMay cause application crashMay cause application crashstale