up

A priority search queue and LRU cache.
git clone git://git.jtobin.io/up.git
Log | Files | Refs

up_qor_bot.c (510B)


      1 #include "all.h"
      2 
      3 u3_noun
      4 u3qdu_qor_bot(u3_noun a)
      5 {
      6   if (u3_nul == a) {
      7     return u3_nul;
      8   }
      9   else
     10   {
     11     u3_noun na, ta, ma;
     12     u3x_trel(a, &na, &ta, &ma);
     13 
     14     u3_noun kna, pna, vna;
     15     u3x_trel(na, &kna, &pna, &vna);
     16 
     17     return u3nc(u3_nul,
     18              u3nq(u3k(kna), u3k(pna), u3k(vna), u3qdu_qor_sec(ta, ma)));
     19   }
     20 }
     21 
     22 u3_noun
     23 u3wdu_qor_bot(u3_noun cor)
     24 {
     25   u3_noun a;
     26 
     27   if (c3n == u3r_mean(cor, u3x_sam, &a, 0))
     28   {
     29     return u3m_bail(c3__exit);
     30   } else {
     31     return u3qdu_qor_bot(a);
     32   }
     33 }
     34