tnode_lookup method

dynamic tnode_lookup(
  1. dynamic k$3,
  2. dynamic not_found$1,
  3. int rank$1,
  4. int cmp$3(
    1. dynamic,
    2. dynamic
    ),
)

Implementation

dc.dynamic tnode_lookup(dc.dynamic k$3, dc.dynamic not_found$1, dc.int rank$1, dc.int Function(dc.dynamic, dc.dynamic, ) cmp$3, ){
assert((){
late final dc.bool $if_$3;
if((lcoc_core.$EQ_.$_invoke$2((0==rank$1), arr.length.isEven, ))){
$if_$3=true;
}else{
$if_$3=false;
}
return $if_$3;
}(), (){
final dc.List<dc.dynamic> fl$9=(dc.List<dc.dynamic>.filled(3, (lcoc_core.symbol.$_invoke$2(null, "=", )), ));
final dc.List<dc.dynamic> fl$10=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "zero?", )), ));
fl$10[1]=(lcoc_core.symbol.$_invoke$2(null, "rank", ));
final lcoc_core.PersistentList $18=lcoc_core.$_list_lit(fl$10, );
final dc.List<dc.dynamic> fl$11=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$11[1]=7437;
fl$11[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$11[3]=16;
final lcoc_core.PersistentHashMap $19=lcoc_core.$_map_lit(fl$11, );
final dc.dynamic $20=lcoc_core.with_meta($18, $19, );
fl$9[1]=$20;
final dc.List<dc.dynamic> fl$12=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "even?", )), ));
final dc.List<dc.dynamic> fl$13=(dc.List<dc.dynamic>.filled(2, (lcoc_core.symbol.$_invoke$2(null, "alength", )), ));
fl$13[1]=(lcoc_core.symbol.$_invoke$2(null, "arr", ));
final lcoc_core.PersistentList $22=lcoc_core.$_list_lit(fl$13, );
final dc.List<dc.dynamic> fl$14=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$14[1]=7437;
fl$14[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$14[3]=36;
final lcoc_core.PersistentHashMap $23=lcoc_core.$_map_lit(fl$14, );
final dc.dynamic $24=lcoc_core.with_meta($22, $23, );
fl$12[1]=$24;
final lcoc_core.PersistentList $21=lcoc_core.$_list_lit(fl$12, );
final dc.List<dc.dynamic> fl$15=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$15[1]=7437;
fl$15[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$15[3]=29;
final lcoc_core.PersistentHashMap $25=lcoc_core.$_map_lit(fl$15, );
final dc.dynamic $26=lcoc_core.with_meta($21, $25, );
fl$9[2]=$26;
final lcoc_core.PersistentList $17=lcoc_core.$_list_lit(fl$9, );
final dc.List<dc.dynamic> fl$16=(dc.List<dc.dynamic>.filled(4, const lcoc_core.Keyword(null, "line", 878494669, ), ));
fl$16[1]=7437;
fl$16[2]=const lcoc_core.Keyword(null, "column", 3362807310, );
fl$16[3]=13;
final lcoc_core.PersistentHashMap $27=lcoc_core.$_map_lit(fl$16, );
final dc.dynamic $28=lcoc_core.with_meta($17, $27, );
final dc.String $29=(lcoc_core.pr_str.$_invoke$1($28, ));
final dc.String $30=(lcoc_core.str.$_invoke$2("Assert failed: ", $29, ));
return $30;
}());
if((0==rank$1)){
final dc.int i$3=(this.tnode_leaf_search(k$3, cmp$3, ));
if(i$3.isEven){
return (arr[(1+i$3)]);
}
return not_found$1;
}
final dc.int i$4=(this.tnode_branch_search(k$3, cmp$3, ));
if(i$4.isOdd){
return (((arr[(1+i$4)]) as lcoc_core.TreapNode).tnode_lookup(k$3, not_found$1, (rank$1-1), cmp$3, ));
}
final dc.dynamic some$7478_$AUTO_$1=(arr[i$4]);
if((null==some$7478_$AUTO_$1)){
return not_found$1;
}
final lcoc_core.TreapNode child$1=(some$7478_$AUTO_$1 as lcoc_core.TreapNode);
return (child$1.tnode_lookup(k$3, not_found$1, (rank$1-1), cmp$3, ));
}