+ move->i->pname,
+ indep->actualunk ? "?" : movpos_pname(move, indep->actualpos));
+}
+static void ouposn_stable(const Segment *move) {
+ ouprintf("movpos %s position %s stable\n",
+ move->i->pname, movpos_pname(move, move->movposcomb));
+}
+static void ouposn_feat(const Segment *move, const MovFeatInfo *feati,
+ MovPosComb posn, const Method *m) {
+ ouprintf("movpos %s feat %s %d %s\n", move->i->pname,
+ feati->pname, posn, m->pname);
+}
+
+int movposcomb_feature_posn(const MovFeatInfo *feati, MovPosComb comb) {
+ /* Returns position of individual feature. */
+ return (comb / feati->weight) % feati->posns;