关于if else的进一步优化
突破了两条分支只能给同一个变量赋值的局限性,可以同时给三个变量赋值if(condition){x = exp1;
}else{
y = exp2;
}
可以用
Rec(Pol(exp1*condition+x*(not(condition)),exp2*condition+y*not(condition)),Y)if(condition){
x = exp1;
y = exp2;
a = exp5;
}else{
x = exp3;
y = exp4;
a = exp6;
}
可以用
Rec(Pol(exp1*condition+exp3*(not(condition)),exp2*condition+exp4*not(condition)),Y)*0+exp5*condition+exp6*not(condition) → A
此方法实质上是rec、pol组合赋值和乘零法的应用 很好,但是很耗(空间) 很耗是因为代码本身很复杂,而不是在转换为es代码过程中变复杂的,这中复杂的代码占用代码空间是不可避免的
页:
[1]