(IFn f, Object init)
| 471 | } |
| 472 | |
| 473 | public Object kvreduce(IFn f, Object init){ |
| 474 | for(int i=0;i < array.length;i+=2){ |
| 475 | init = f.invoke(init, array[i], array[i+1]); |
| 476 | if(RT.isReduced(init)) |
| 477 | return ((IDeref)init).deref(); |
| 478 | } |
| 479 | return init; |
| 480 | } |
| 481 | |
| 482 | public ITransientMap asTransient(){ |
| 483 | return new TransientArrayMap(array); |