singeli collect
This commit is contained in:
parent
ba6e2adb5d
commit
60d3ba8c64
@ -603,7 +603,7 @@ Nvm_res m_nvm(Body* body) {
|
|||||||
if (sz==0 ) { TOPs; CCALL(i_ARR_0); } // unused with optimizations
|
if (sz==0 ) { TOPs; CCALL(i_ARR_0); } // unused with optimizations
|
||||||
else if (sz==1 && o) { TOPp; GET(R_A3,0,2); CCALL(m_vec1); } // (B a)
|
else if (sz==1 && o) { TOPp; GET(R_A3,0,2); CCALL(m_vec1); } // (B a)
|
||||||
else if (sz==2 && o) { TOPpR(R_A1); GET(R_A0,1,1); CCALL(m_vec2); } // (B a, B b)
|
else if (sz==2 && o) { TOPpR(R_A1); GET(R_A0,1,1); CCALL(m_vec2); } // (B a, B b)
|
||||||
else { TOPp; IMM(R_A1, sz); lGPos=SPOSq(1-sz); INV(2,0,i_ARR_p); } // (B a, i64 sz, S)
|
else { TOPp; IMM(R_A1, sz); lGPos=SPOSq(1-sz); INV(2,0,i_ARR_p); } // (B a, i64 sz, S)
|
||||||
break;
|
break;
|
||||||
case DFND0: case DFND1: case DFND2: TOPs; // (u32* bc, Scope* sc, Block* bl)
|
case DFND0: case DFND1: case DFND2: TOPs; // (u32* bc, Scope* sc, Block* bl)
|
||||||
Block* bl = (Block*)L64;
|
Block* bl = (Block*)L64;
|
||||||
|
|||||||
@ -39,6 +39,14 @@ def unroll{vars,begin,end,block & knum{begin} & knum{end}} = {
|
|||||||
}
|
}
|
||||||
f{begin,end}
|
f{begin,end}
|
||||||
}
|
}
|
||||||
|
def collect{vars,begin,end,block & knum{begin} & knum{end}} = {
|
||||||
|
def f{i,l & i==l} = tup{}
|
||||||
|
def f{i,l & i!=l} = {
|
||||||
|
def r = exec{i, vars, block}
|
||||||
|
merge{tup{r}, f{i+1, l}}
|
||||||
|
}
|
||||||
|
f{begin,end}
|
||||||
|
}
|
||||||
def for{vars,begin,end,block} = {
|
def for{vars,begin,end,block} = {
|
||||||
i:u64 = begin
|
i:u64 = begin
|
||||||
while (i < end) {
|
while (i < end) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user