using cached locations to speed up kicks
@@ -1728,8 +1728,19 @@ _n_hock(u3_noun cor, _n_site* sit_u)
static u3_weak
_n_kick(u3_noun cor, _n_site* sit_u)
{
- u3_weak loc, pro = u3_none;
+ u3_weak loc = u3_none,
+ pro = u3_none;
+ if ( u3_none != sit_u->loc ) {
+ if ( c3y == _n_fine(cor, sit_u->fin_u) ) {
+ loc = sit_u->loc;
+ if ( c3y == sit_u->jet_o ) {
+ pro = _n_hock(cor, sit_u);
+ }
+ }
+ }
+
+ if ( u3_none == loc ) {
loc = _n_spot(cor);
if ( u3_none != loc ) {
_n_fink* fon_u = NULL;
@@ -1765,10 +1776,12 @@ _n_kick(u3_noun cor, _n_site* sit_u)
}
}
}
+ }
if ( u3_none == pro ) {
pro = _n_lock(cor, sit_u);
}
+
return pro;
}
