tnode_without method

TreapNode tnode_without(
  1. int rank$6,
  2. int krank$2,
  3. dynamic k$7,
  4. int cmp$5(
    1. dynamic,
    2. dynamic
    ),
)

Implementation

lcoc_core.TreapNode tnode_without(dc.int rank$6, dc.int krank$2, dc.dynamic k$7, dc.int Function(dc.dynamic, dc.dynamic, ) cmp$5, ){
assert((){
late final dc.bool $if_$12;
if((lcoc_core.$EQ_.$_invoke$2((0==rank$6), arr.length.isEven, ))){
$if_$12=true;
}else{
$if_$12=false;
}
return $if_$12;
}(), (){
final dc.List<dc.dynamic> fl$51=(dc.List<dc.dynamic>.filled(3, (lcoc_core.symbol.$_invoke$2(null, "=", )), ));
final dc.List<dc.dynamic> fl$52=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "zero?", )), ));
fl$52[1]=(lcoc_core.symbol.$_invoke$2(null, "rank", ));
final lcoc_core.PersistentList $93=lcoc_core.$_list_lit(fl$52, );
final dc.List<dc.dynamic> fl$53=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$53[1]=7532;
fl$53[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$53[3]=15;
final lcoc_core.PersistentHashMap $94=lcoc_core.$_map_lit(fl$53, );
final dc.dynamic $95=lcoc_core.with_meta($93, $94, );
fl$51[1]=$95;
final dc.List<dc.dynamic> fl$54=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "even?", )), ));
final dc.List<dc.dynamic> fl$55=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "alength", )), ));
fl$55[1]=(lcoc_core.symbol.$_invoke$2(null, "arr", ));
final lcoc_core.PersistentList $97=lcoc_core.$_list_lit(fl$55, );
final dc.List<dc.dynamic> fl$56=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$56[1]=7532;
fl$56[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$56[3]=35;
final lcoc_core.PersistentHashMap $98=lcoc_core.$_map_lit(fl$56, );
final dc.dynamic $99=lcoc_core.with_meta($97, $98, );
fl$54[1]=$99;
final lcoc_core.PersistentList $96=lcoc_core.$_list_lit(fl$54, );
final dc.List<dc.dynamic> fl$57=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$57[1]=7532;
fl$57[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$57[3]=28;
final lcoc_core.PersistentHashMap $100=lcoc_core.$_map_lit(fl$57, );
final dc.dynamic $101=lcoc_core.with_meta($96, $100, );
fl$51[2]=$101;
final lcoc_core.PersistentList $92=lcoc_core.$_list_lit(fl$51, );
final dc.List<dc.dynamic> fl$58=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$58[1]=7532;
fl$58[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$58[3]=12;
final lcoc_core.PersistentHashMap $102=lcoc_core.$_map_lit(fl$58, );
final dc.dynamic $103=lcoc_core.with_meta($92, $102, );
final dc.String $104=(lcoc_core.pr_str.$_invoke$1($103, ));
final dc.String $105=(lcoc_core.str.$_invoke$2("Assert failed: ", $104, ));
return $105;
}());
assert((){
late final dc.bool $if_$13;
if((krank$2<=rank$6)){
$if_$13=true;
}else{
$if_$13=false;
}
return $if_$13;
}(), (){
final dc.List<dc.dynamic> fl$59=(dc.List<dc.dynamic>.filled(3, (lcoc_core.symbol.$_invoke$2(null, "<=", )), ));
fl$59[1]=(lcoc_core.symbol.$_invoke$2(null, "krank", ));
fl$59[2]=(lcoc_core.symbol.$_invoke$2(null, "rank", ));
final lcoc_core.PersistentList $106=lcoc_core.$_list_lit(fl$59, );
final dc.List<dc.dynamic> fl$60=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$60[1]=7533;
fl$60[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$60[3]=12;
final lcoc_core.PersistentHashMap $107=lcoc_core.$_map_lit(fl$60, );
final dc.dynamic $108=lcoc_core.with_meta($106, $107, );
final dc.String $109=(lcoc_core.pr_str.$_invoke$1($108, ));
final dc.String $110=(lcoc_core.str.$_invoke$2("Assert failed: ", $109, ));
return $110;
}());
if((0==rank$6)){
final dc.int i$8=(this.tnode_leaf_search(k$7, cmp$5, ));
if(i$8.isEven){
final dc.int arg$4=(cnt-1);
final dc.int size$8472_$AUTO_$16=((i$8-0)+(arr.length-(2+i$8)));
final dc.List<dc.dynamic> dest$8468_$AUTO_$16=(dc.List<dc.dynamic>.filled(size$8472_$AUTO_$16, null, ));
final dc.int to$8469_$AUTO_$21=i$8;
late final dc.int pos$8467_$AUTO_$51;
dc.int i$8470_$AUTO_$21=0;
dc.int j$8471_$AUTO_$21=0;
do {
if((j$8471_$AUTO_$21<to$8469_$AUTO_$21)){
final dc.dynamic v$8083_$AUTO_$43=(arr[j$8471_$AUTO_$21]);
dest$8468_$AUTO_$16[i$8470_$AUTO_$21]=v$8083_$AUTO_$43;
i$8470_$AUTO_$21=(1+i$8470_$AUTO_$21);
j$8471_$AUTO_$21=(1+j$8471_$AUTO_$21);
continue;
}
pos$8467_$AUTO_$51=i$8470_$AUTO_$21;
break;
} while(true);
final dc.int to$8469_$AUTO_$22=arr.length;
late final dc.int pos$8467_$AUTO_$52;
dc.int i$8470_$AUTO_$22=pos$8467_$AUTO_$51;
dc.int j$8471_$AUTO_$22=(2+i$8);
do {
if((j$8471_$AUTO_$22<to$8469_$AUTO_$22)){
final dc.dynamic v$8083_$AUTO_$44=(arr[j$8471_$AUTO_$22]);
dest$8468_$AUTO_$16[i$8470_$AUTO_$22]=v$8083_$AUTO_$44;
i$8470_$AUTO_$22=(1+i$8470_$AUTO_$22);
j$8471_$AUTO_$22=(1+j$8471_$AUTO_$22);
continue;
}
pos$8467_$AUTO_$52=i$8470_$AUTO_$22;
break;
} while(true);
return lcoc_core.TreapNode(arg$4, dest$8468_$AUTO_$16, );
}
return this;
}
final dc.int i$9=(this.tnode_branch_search(k$7, cmp$5, ));
if(i$9.isOdd){
final dc.int arg$5=(cnt-1);
final dc.int size$8472_$AUTO_$17=((((i$9-1)-0)+1)+(arr.length-(2+i$9)));
final dc.List<dc.dynamic> dest$8468_$AUTO_$17=(dc.List<dc.dynamic>.filled(size$8472_$AUTO_$17, null, ));
final dc.int to$8469_$AUTO_$23=(i$9-1);
late final dc.int pos$8467_$AUTO_$54;
dc.int i$8470_$AUTO_$23=0;
dc.int j$8471_$AUTO_$23=0;
do {
if((j$8471_$AUTO_$23<to$8469_$AUTO_$23)){
final dc.dynamic v$8083_$AUTO_$45=(arr[j$8471_$AUTO_$23]);
dest$8468_$AUTO_$17[i$8470_$AUTO_$23]=v$8083_$AUTO_$45;
i$8470_$AUTO_$23=(1+i$8470_$AUTO_$23);
j$8471_$AUTO_$23=(1+j$8471_$AUTO_$23);
continue;
}
pos$8467_$AUTO_$54=i$8470_$AUTO_$23;
break;
} while(true);
final lcoc_core.TreapNode v$8083_$AUTO_$46=(((arr[(i$9-1)]) as lcoc_core.TreapNode).tnode_zip(((arr[(1+i$9)]) as lcoc_core.TreapNode), (rank$6-1), ));
dest$8468_$AUTO_$17[pos$8467_$AUTO_$54]=v$8083_$AUTO_$46;
final dc.int pos$8467_$AUTO_$55=(1+pos$8467_$AUTO_$54);
final dc.int to$8469_$AUTO_$24=arr.length;
late final dc.int pos$8467_$AUTO_$56;
dc.int i$8470_$AUTO_$24=pos$8467_$AUTO_$55;
dc.int j$8471_$AUTO_$24=(2+i$9);
do {
if((j$8471_$AUTO_$24<to$8469_$AUTO_$24)){
final dc.dynamic v$8083_$AUTO_$47=(arr[j$8471_$AUTO_$24]);
dest$8468_$AUTO_$17[i$8470_$AUTO_$24]=v$8083_$AUTO_$47;
i$8470_$AUTO_$24=(1+i$8470_$AUTO_$24);
j$8471_$AUTO_$24=(1+j$8471_$AUTO_$24);
continue;
}
pos$8467_$AUTO_$56=i$8470_$AUTO_$24;
break;
} while(true);
return lcoc_core.TreapNode(arg$5, dest$8468_$AUTO_$17, );
}
final dc.dynamic child$2=(arr[i$9]);
final lcoc_core.TreapNode child$PRIME_$1=((child$2 as lcoc_core.TreapNode).tnode_without((rank$6-1), krank$2, k$7, cmp$5, ));
if(dc.identical(child$2, (child$PRIME_$1 as dc.Object?), )){
return this;
}
final dc.int arg$6=(cnt-1);
final dc.int size$8472_$AUTO_$18=(((i$9-0)+1)+(arr.length-(1+i$9)));
final dc.List<dc.dynamic> dest$8468_$AUTO_$18=(dc.List<dc.dynamic>.filled(size$8472_$AUTO_$18, null, ));
final dc.int to$8469_$AUTO_$25=i$9;
late final dc.int pos$8467_$AUTO_$58;
dc.int i$8470_$AUTO_$25=0;
dc.int j$8471_$AUTO_$25=0;
do {
if((j$8471_$AUTO_$25<to$8469_$AUTO_$25)){
final dc.dynamic v$8083_$AUTO_$48=(arr[j$8471_$AUTO_$25]);
dest$8468_$AUTO_$18[i$8470_$AUTO_$25]=v$8083_$AUTO_$48;
i$8470_$AUTO_$25=(1+i$8470_$AUTO_$25);
j$8471_$AUTO_$25=(1+j$8471_$AUTO_$25);
continue;
}
pos$8467_$AUTO_$58=i$8470_$AUTO_$25;
break;
} while(true);
final lcoc_core.TreapNode v$8083_$AUTO_$49=child$PRIME_$1;
dest$8468_$AUTO_$18[pos$8467_$AUTO_$58]=v$8083_$AUTO_$49;
final dc.int pos$8467_$AUTO_$59=(1+pos$8467_$AUTO_$58);
final dc.int to$8469_$AUTO_$26=arr.length;
late final dc.int pos$8467_$AUTO_$60;
dc.int i$8470_$AUTO_$26=pos$8467_$AUTO_$59;
dc.int j$8471_$AUTO_$26=(1+i$9);
do {
if((j$8471_$AUTO_$26<to$8469_$AUTO_$26)){
final dc.dynamic v$8083_$AUTO_$50=(arr[j$8471_$AUTO_$26]);
dest$8468_$AUTO_$18[i$8470_$AUTO_$26]=v$8083_$AUTO_$50;
i$8470_$AUTO_$26=(1+i$8470_$AUTO_$26);
j$8471_$AUTO_$26=(1+j$8471_$AUTO_$26);
continue;
}
pos$8467_$AUTO_$60=i$8470_$AUTO_$26;
break;
} while(true);
return lcoc_core.TreapNode(arg$6, dest$8468_$AUTO_$18, );
}