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;
+}
+
MovPosComb movposcomb_feature_update(const MovFeatInfo *mfi,
MovPosComb startpoint, int featpos) {
MovPosComb above_weight= mfi->weight * mfi->posns;
const char *movpos_pname(const Segment *move, MovPosComb poscomb);
+
+/* Pure functions for manipulating MovPosComb values: */
+
+int movposcomb_feature_posn(const MovFeatInfo *mfi, MovPosComb comb);
+ /* Returns position of individual feature. */
+
MovPosComb movposcomb_feature_update(const MovFeatInfo *mfi,
MovPosComb startpoint,
int featpos);
- /* Returns movposcomb representing a changed combination of positions;
- * pure function. */
+ /* Returns movposcomb representing a changed combination of positions */
/*========== speed.c ==========*/