tnode_set_leftmost method
TreapNode
tnode_set_leftmost(
- int rank$2,
- dynamic k$4,
- dynamic v$1
)
Implementation
lcoc_core.TreapNode tnode_set_leftmost(dc.int rank$2, dc.dynamic k$4, dc.dynamic v$1, ){
assert((){
late final dc.bool $if_$4;
if((lcoc_core.$EQ_.$_invoke$2((0==rank$2), arr.length.isEven, ))){
$if_$4=true;
}else{
$if_$4=false;
}
return $if_$4;
}(), (){
final dc.List<dc.dynamic> fl$17=(dc.List<dc.dynamic>.filled(3, (lcoc_core.symbol.$_invoke$2(null, "=", )), ));
final dc.List<dc.dynamic> fl$18=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "zero?", )), ));
fl$18[1]=(lcoc_core.symbol.$_invoke$2(null, "rank", ));
final lcoc_core.PersistentList $32=lcoc_core.$_list_lit(fl$18, );
final dc.List<dc.dynamic> fl$19=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$19[1]=7450;
fl$19[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$19[3]=15;
final lcoc_core.PersistentHashMap $33=lcoc_core.$_map_lit(fl$19, );
final dc.dynamic $34=lcoc_core.with_meta($32, $33, );
fl$17[1]=$34;
final dc.List<dc.dynamic> fl$20=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "even?", )), ));
final dc.List<dc.dynamic> fl$21=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "alength", )), ));
fl$21[1]=(lcoc_core.symbol.$_invoke$2(null, "arr", ));
final lcoc_core.PersistentList $36=lcoc_core.$_list_lit(fl$21, );
final dc.List<dc.dynamic> fl$22=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$22[1]=7450;
fl$22[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$22[3]=35;
final lcoc_core.PersistentHashMap $37=lcoc_core.$_map_lit(fl$22, );
final dc.dynamic $38=lcoc_core.with_meta($36, $37, );
fl$20[1]=$38;
final lcoc_core.PersistentList $35=lcoc_core.$_list_lit(fl$20, );
final dc.List<dc.dynamic> fl$23=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$23[1]=7450;
fl$23[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$23[3]=28;
final lcoc_core.PersistentHashMap $39=lcoc_core.$_map_lit(fl$23, );
final dc.dynamic $40=lcoc_core.with_meta($35, $39, );
fl$17[2]=$40;
final lcoc_core.PersistentList $31=lcoc_core.$_list_lit(fl$17, );
final dc.List<dc.dynamic> fl$24=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$24[1]=7450;
fl$24[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$24[3]=12;
final lcoc_core.PersistentHashMap $41=lcoc_core.$_map_lit(fl$24, );
final dc.dynamic $42=lcoc_core.with_meta($31, $41, );
final dc.String $43=(lcoc_core.pr_str.$_invoke$1($42, ));
final dc.String $44=(lcoc_core.str.$_invoke$2("Assert failed: ", $43, ));
return $44;
}());
late final dc.List<dc.dynamic> $if_$5;
if((0==rank$2)){
final dc.int size$8472_$AUTO_$1=(2+(arr.length-2));
final dc.List<dc.dynamic> dest$8468_$AUTO_$1=(dc.List<dc.dynamic>.filled(size$8472_$AUTO_$1, null, ));
final dc.dynamic v$8083_$AUTO_$1=k$4;
dest$8468_$AUTO_$1[0]=v$8083_$AUTO_$1;
final dc.int pos$8467_$AUTO_$2=(1+0);
final dc.dynamic v$8083_$AUTO_$2=v$1;
dest$8468_$AUTO_$1[pos$8467_$AUTO_$2]=v$8083_$AUTO_$2;
final dc.int pos$8467_$AUTO_$3=(1+pos$8467_$AUTO_$2);
final dc.int to$8469_$AUTO_$1=arr.length;
late final dc.int pos$8467_$AUTO_$4;
dc.int i$8470_$AUTO_$1=pos$8467_$AUTO_$3;
dc.int j$8471_$AUTO_$1=2;
do {
if((j$8471_$AUTO_$1<to$8469_$AUTO_$1)){
final dc.dynamic v$8083_$AUTO_$3=(arr[j$8471_$AUTO_$1]);
dest$8468_$AUTO_$1[i$8470_$AUTO_$1]=v$8083_$AUTO_$3;
i$8470_$AUTO_$1=(1+i$8470_$AUTO_$1);
j$8471_$AUTO_$1=(1+j$8471_$AUTO_$1);
continue;
}
pos$8467_$AUTO_$4=i$8470_$AUTO_$1;
break;
} while(true);
$if_$5=dest$8468_$AUTO_$1;
}else{
final dc.int size$8472_$AUTO_$2=(1+(arr.length-1));
final dc.List<dc.dynamic> dest$8468_$AUTO_$2=(dc.List<dc.dynamic>.filled(size$8472_$AUTO_$2, null, ));
final lcoc_core.TreapNode v$8083_$AUTO_$4=(((arr[0]) as lcoc_core.TreapNode).tnode_set_leftmost((rank$2-1), k$4, v$1, ));
dest$8468_$AUTO_$2[0]=v$8083_$AUTO_$4;
final dc.int pos$8467_$AUTO_$6=(1+0);
final dc.int to$8469_$AUTO_$2=arr.length;
late final dc.int pos$8467_$AUTO_$7;
dc.int i$8470_$AUTO_$2=pos$8467_$AUTO_$6;
dc.int j$8471_$AUTO_$2=1;
do {
if((j$8471_$AUTO_$2<to$8469_$AUTO_$2)){
final dc.dynamic v$8083_$AUTO_$5=(arr[j$8471_$AUTO_$2]);
dest$8468_$AUTO_$2[i$8470_$AUTO_$2]=v$8083_$AUTO_$5;
i$8470_$AUTO_$2=(1+i$8470_$AUTO_$2);
j$8471_$AUTO_$2=(1+j$8471_$AUTO_$2);
continue;
}
pos$8467_$AUTO_$7=i$8470_$AUTO_$2;
break;
} while(true);
$if_$5=dest$8468_$AUTO_$2;
}
return lcoc_core.TreapNode(cnt, $if_$5, );
}