bitcoin-sv / sol2scrypt

Solidity to sCrypt Transplier
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

optimize "static" for loop #211

Open xhliu opened 2 years ago

xhliu commented 2 years ago
for(uint i=0; i<2; i++) {
   sum += i;
}

==>

int i = 0;
loop (__LoopCount__0) {
   if (i < 2) {
       sum += i;
       i++;
   }
}

When i starts from CTC and ends at CTC, step size is also CTC, and it is not written inside the loop body, we can directly go to ==>

int i = 0;
loop (2) {
       sum += i;
       i++;
}

If it starts from 0 ==>

loop (2) : i {
       sum += i;
}