$_reduce$2 method
dynamic
$_reduce$2(
- dynamic f$1,
- dynamic init$1
override
Implementation
dc.dynamic $_reduce$2(dc.dynamic f$1, dc.dynamic init$1, ){
final lcoc_core.TreapIterator it$1=lcoc_core.TreapIterator(root, 0, top_rank, (dc.List<dc.int>.filled(top_rank, 0, )), (dc.List<lcoc_core.TreapNode>.filled(top_rank, root, )), null, null, 0, );
dc.dynamic acc$1=init$1;
do {
late final dc.bool $if_$4;
if((it$1.moveNext())){
$if_$4=false;
}else{
$if_$4=true;
}
if($if_$4){
return acc$1;
}
final dc.int idx$1=it$1.idx;
final dc.List arr$1=it$1.node.arr;
final dc.dynamic arg$2=(arr$1[(idx$1-1)]);
late final dc.dynamic acc$2;
if((f$1 is dc.Function)){
acc$2=(f$1 as dc.Function)(acc$1, arg$2, );
}else if((f$1 is lcoc_core.IFn$iface)){
acc$2=((f$1 as lcoc_core.IFn$iface).$_invoke$2(acc$1, arg$2, ));
}else{
acc$2=(lcoc_core.IFn.extensions(f$1, ).$_invoke$2(f$1, acc$1, arg$2, ));
}
if(lcoc_core.reduced$QMARK_(acc$2, )){
return lcoc_core.unreduced(acc$2, );
}
acc$1=acc$2;
continue;
} while(true);
}