コード例 #1
0
rtems_task Test_task(
  rtems_task_argument unused
)
{
  rtems_id          tid;
  rtems_time_of_day time;
  uint32_t          task_index;
  rtems_status_code status;

  status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &tid );
  task_index = task_number( tid );
  for ( ; ; ) {
    status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
    if ( time.second >= 35 ) {
      puts( "*** END OF CLOCK TICK TEST ***" );
      exit( 0 );
    }
    put_name( Task_name[ task_index ], FALSE );
    print_time( " - rtems_clock_get - ", &time, "\n" );
    status = rtems_task_wake_after( task_index * 5 * get_ticks_per_second() );
  }
}
コード例 #2
0
void dump(const mcmc ** chains, const unsigned int n_beta,
		const unsigned long iter, FILE * acceptance_file,
		FILE ** probabilities_file) {
	unsigned int i;
	if (iter % PRINT_PROB_INTERVAL == 0) {
		if (dumpflag) {
			report(chains, n_beta);
			dumpflag = 0;
			for (i = 0; i < n_beta; i++) {
				fflush(probabilities_file[i]);
			}
		}
		fprintf(acceptance_file, "%lu", iter);
		for (i = 0; i < n_beta; i++) {
			fprintf(acceptance_file, "\t%lu", get_params_accepts_global(
					chains[i]));
		}
		fprintf(acceptance_file, "\n");
		fflush(acceptance_file);
		IFDEBUG {
			debug("dumping distribution");
			dump_ul("iteration", iter);
			dump_ul("acceptance rate: accepts", get_params_accepts_global(chains[0]));
			dump_ul("acceptance rate: rejects", get_params_rejects_global(chains[0]));
			dump_mcmc(chains[0]);
		} else {
			printf("iteration: %lu, a/r: %.3f(%lu/%lu), v:", iter,
					(double) get_params_accepts_global(chains[0])
							/ (double) (get_params_accepts_global(chains[0])
									+ get_params_rejects_global(chains[0])),
					get_params_accepts_global(chains[0]),
					get_params_rejects_global(chains[0]));
			dump_vector(get_params(chains[0]));
			printf(" [%d/%lu ticks]\r", get_duration(), get_ticks_per_second());
			fflush(stdout);
		}
	}