Beispiel #1
0
/* Records the GC frame bias from the node GC statistics */
void record_gc_frame_bias(struct _training *tinf, unsigned char *seq, int slen,
                          struct _node *nod, int nn) {
  int i, len, *gc_frame;
  double tot;

  gc_frame = calc_most_gc_frame(seq, slen);
  frame_score(gc_frame, nod, nn);
  free(gc_frame);

  for(i = 0; i < 3; i++) tinf->bias[i] = 0.0;
  for(i = 0; i < nn; i++) {
    if(nod[i].type != STOP) {
      len = abs(nod[i].stop_val-nod[i].ndx)+1;
      tinf->bias[nod[i].gc_bias]+= (nod[i].gc_score[nod[i].gc_bias]*len)/1000.0;
    }
  }
  tot = tinf->bias[0] + tinf->bias[1] + tinf->bias[2];
  for(i = 0; i < 3; i++) tinf->bias[i] *= (3.0/tot);
};
Beispiel #2
0
int bowling_game_score() {
  int score = 0;
  int frame_index = 0;
  for(int frame=0; frame < max_frames; frame++) {
    if( is_strike(frame_index) ) {
      score += strike_score(frame_index);
      frame_index++;
    }
    else if( is_spare(frame_index) ) {
      score += spare_score(frame_index);
      frame_index += 2;
    }
    else {
      score += frame_score(frame_index);
      frame_index += 2;
    }
  }
  return score;
}